Write

כתיבה על מסמך.

ייצוג JSON
{
  "updateMask": {
    object (DocumentMask)
  },
  "updateTransforms": [
    {
      object (FieldTransform)
    }
  ],
  "currentDocument": {
    object (Precondition)
  },

  // Union field operation can be only one of the following:
  "update": {
    object (Document)
  },
  "delete": string,
  "transform": {
    object (DocumentTransform)
  }
  // End of list of possible types for union field operation.
}
שדות
updateMask

object (DocumentMask)

השדות שצריך לעדכן בכתיבה הזו.

אפשר להגדיר את השדה הזה רק כשהפעולה היא update. אם לא הוגדרה מסכה של update והמסמך קיים, כל הנתונים הקיימים יוחלפו. אם המסיכה מוגדרת והמסמך בשרת מכיל שדות שאינם מכוסים על ידי המסכה, הם יישארו ללא שינוי. שדות שיש אליהם הפניה במסכה אבל לא נמצאים במסמך הקלט, יימחקו מהמסמך בשרת. נתיבי השדות במסכה הזו לא יכולים להכיל שם שדה שמור.

updateTransforms[]

object (FieldTransform)

הטרנספורמציות שיש לבצע אחרי העדכון.

אפשר להגדיר את השדה הזה רק כשהפעולה היא update. אם היא קיימת, הכתיבה הזו מקבילה לביצוע של update ו-transform לאותו מסמך באופן אטומי ובסדר.

currentDocument

object (Precondition)

תנאי מוקדם אופציונלי במסמך.

הכתיבה תיכשל אם האפשרות הזו תוגדר ולא תעמוד במסמך היעד.

שדה איחוד operation. הפעולה שצריך לבצע. operation יכול להיות רק אחד מהבאים:
update

object (Document)

מסמך לכתיבה.

delete

string

שם של מסמך למחיקה. בפורמט: projects/{projectId}/databases/{databaseId}/documents/{document_path}.

transform

object (DocumentTransform)

מחילה טרנספורמציה על מסמך.

DocumentTransform

טרנספורמציה של מסמך.

ייצוג JSON
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
שדות
document

string

שם המסמך להמרה.

fieldTransforms[]

object (FieldTransform)

רשימת הטרנספורמציות שיש להחיל על השדות של המסמך, לפי סדר. חובה למלא את השדה הזה.

FieldTransform

טרנספורמציה של שדה במסמך.

ייצוג JSON
{
  "fieldPath": string,

  // Union field transform_type can be only one of the following:
  "setToServerValue": enum (ServerValue),
  "increment": {
    object (Value)
  },
  "maximum": {
    object (Value)
  },
  "minimum": {
    object (Value)
  },
  "appendMissingElements": {
    object (ArrayValue)
  },
  "removeAllFromArray": {
    object (ArrayValue)
  }
  // End of list of possible types for union field transform_type.
}
שדות
fieldPath

string

הנתיב של השדה. מידע על תחביר של נתיבי שדות מופיע בכתובת Document.fields.

שדה איחוד transform_type. הטרנספורמציה שיש להחיל על השדה. transform_type יכול להיות רק אחד מהבאים:
setToServerValue

enum (ServerValue)

מגדיר את השדה לערך הנתון של השרת.

increment

object (Value)

הפונקציה מוסיפה את הערך הנתון לערך הנוכחי בשדה.

חייב להיות מספר שלם או ערך כפול. אם השדה אינו מספר שלם או כפול, או אם השדה עדיין לא קיים, הטרנספורמציה תגדיר את השדה לערך הנתון. אם הערך הנתון או הערך הנוכחי בשדה כפול, שני הערכים יפורשו ככפולים. חשבון כפול וייצוג של ערכים כפולים פועלים לפי הסמנטיקה של IEEE 754. במקרה של גלישת מספרים שלמים חיוביים/שליליים, המערכת תפתור את השדה 'מספר שלם חיובי/שלילי' הגדול ביותר.

maximum

object (Value)

מגדיר את השדה למקסימום של הערך הנוכחי שלו ושל הערך הנתון.

חייב להיות מספר שלם או ערך כפול. אם השדה אינו מספר שלם או כפול, או אם השדה עדיין לא קיים, הטרנספורמציה תגדיר את השדה לערך הנתון. אם פעולה מקסימלית מיושמת כאשר השדה וערך הקלט הם מסוגים מעורבים (כלומר: אחד הוא מספר שלם ואחד הוא כפול), השדה הזה יקבל את סוג האופרנד הגדול יותר. אם האופרנדים הם שווי ערך (למשל 3 ו-3.0), השדה לא משתנה. הערכים 0, 0.0 ו-0.0 הם אפס. הערך המקסימלי של ערך מאוחסן של אפס וערך קלט של אפס הוא תמיד הערך שמאוחסן. הערך המקסימלי של כל ערך מספרי x ו-NaN הוא NaN.

minimum

object (Value)

מגדיר את השדה למינימום של הערך הנוכחי שלו ושל הערך הנתון.

חייב להיות מספר שלם או ערך כפול. אם השדה אינו מספר שלם או כפול, או אם השדה עדיין לא קיים, הטרנספורמציה תגדיר את השדה לערך הקלט. אם פעולה מינימלית מיושמת כאשר השדה וערך הקלט הם מסוגים מעורבים (כלומר, אחד הוא מספר שלם ואחד הוא כפול), השדה קטן יותר לפי סוג האופרנד הקטן יותר. אם האופרנדים הם שווי ערך (למשל 3 ו-3.0), השדה לא משתנה. הערכים 0, 0.0 ו-0.0 הם אפס. הערך המינימלי של ערך מאוחסן של אפס וערך קלט של אפס הוא תמיד הערך שמאוחסן. המינימום של כל ערך מספרי x ו-NaN הוא NaN.

appendMissingElements

object (ArrayValue)

מוסיפים את הרכיבים הנתונים לפי הסדר, אם הם עדיין לא קיימים בערך הנוכחי בשדה. אם השדה אינו מערך, או אם השדה עדיין לא קיים, הוא יוגדר תחילה למערך הריק.

מספרים שווים מסוגים שונים (למשל 3L ו-3.0) נחשבים שווים כשבודקים אם חסר ערך. NaN שווה ל-NaN, ו-Null שווה ל-Null. אם הקלט מכיל כמה ערכים שווים, רק הערך הראשון ייכלל.

תוצאת הטרנספורמציה המתאימה תהיה הערך null.

removeAllFromArray

object (ArrayValue)

מסירים את כל הרכיבים הנתונים מהמערך שבשדה. אם השדה אינו מערך או אם השדה עדיין לא קיים, הוא יוגדר למערך הריק.

מספרים שווים מהסוגים השונים (למשל 3L ו-3.0) נחשבים שווים כשמחליטים אם להסיר רכיב. NaN שווה ל-NaN, ו-Null שווה ל-Null. פעולה זו תסיר את כל הערכים המקבילים אם יש כפילויות.

תוצאת הטרנספורמציה המתאימה תהיה הערך null.

ServerValue

ערך שמחושב על ידי השרת.

טיפוסים בני מנייה (enums)
SERVER_VALUE_UNSPECIFIED לא צוין. אי אפשר להשתמש בערך הזה.
REQUEST_TIME השעה שבה השרת עיבד את הבקשה, ברמת דיוק של אלפית שנייה. אם משתמשים במאפיין במספר שדות (מסמכים זהים או מסמכים שונים) בעסקה, כל השדות יקבלו את אותה חותמת זמן של השרת.