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)

تطبيق عملية تحويل على مستند

تحويل المستند

تحويل المستند.

تمثيل JSON
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
الحقول
document

string

اسم المستند المطلوب تحويله.

fieldTransforms[]

object (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 المقابلة هي القيمة الفارغة.

قيمة الخادم

يشير ذلك المصطلح إلى قيمة يحتسبها الخادم.

تعدادات
SERVER_VALUE_UNSPECIFIED غير محدَّد يجب عدم استخدام هذه القيمة.
REQUEST_TIME الوقت الذي عالج فيه الخادم الطلب، بدقة ملي ثانية. في حال استخدام الحقول في عدّة حقول (المستندات نفسها أو مستندات مختلفة) في معاملة، ستحصل جميع الحقول على الطابع الزمني نفسه للخادم.