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 است. اگر ورودی حاوی چندین مقدار معادل باشد، تنها مقدار اول در نظر گرفته می شود.

transform_result مربوطه مقدار تهی خواهد بود.

removeAllFromArray

object ( ArrayValue )

تمام عناصر داده شده را از آرایه موجود در فیلد حذف کنید. اگر فیلد یک آرایه نباشد، یا اگر فیلد هنوز وجود نداشته باشد، روی آرایه خالی تنظیم می شود.

اعداد معادل انواع مختلف (مانند 3L و 3.0) هنگام تصمیم گیری در مورد حذف یک عنصر برابر در نظر گرفته می شوند. NaN برابر با NaN و Null برابر با Null است. اگر موارد تکراری وجود داشته باشد، تمام مقادیر معادل حذف می شود.

transform_result مربوطه مقدار تهی خواهد بود.

ServerValue

مقداری که توسط سرور محاسبه می شود.

Enums
SERVER_VALUE_UNSPECIFIED نامشخص این مقدار نباید استفاده شود.
REQUEST_TIME زمانی که سرور درخواست را با دقت میلی ثانیه پردازش کرد. اگر در یک تراکنش در چندین فیلد (اسناد یکسان یا متفاوت) استفاده شود، تمام فیلدها همان مهر زمانی سرور را دریافت خواهند کرد.