Write

किसी दस्तावेज़ पर कुछ लिखा होता है.

जेएसओएन के काेड में दिखाना
{
  "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

किसी दस्तावेज़ का ट्रांसफ़ॉर्मेशन.

जेएसओएन के काेड में दिखाना
{
  "document": string,
  "fieldTransforms": [
    {
      object (FieldTransform)
    }
  ]
}
फ़ील्ड
document

string

उस दस्तावेज़ का नाम जिसे बदलना है.

fieldTransforms[]

object (FieldTransform)

दस्तावेज़ के फ़ील्ड पर लागू किए जाने वाले ट्रांसफ़ॉर्मेशन की सूची. यह खाली नहीं होना चाहिए.

FieldTransform

दस्तावेज़ के किसी फ़ील्ड में बदलाव करना.

जेएसओएन के काेड में दिखाना
{
  "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)

दी गई वैल्यू को फ़ील्ड की मौजूदा वैल्यू में जोड़ता है.

यह एक पूर्णांक या डबल वैल्यू होनी चाहिए. अगर फ़ील्ड, पूर्णांक या डबल नहीं है या फ़ील्ड मौजूद नहीं है, तो ट्रांसफ़ॉर्मेशन ऐक्शन, फ़ील्ड को दी गई वैल्यू पर सेट कर देगा. अगर दी गई वैल्यू या मौजूदा फ़ील्ड की वैल्यू, दोनों में से कोई भी वैल्यू दोगुनी हो, तो दोनों वैल्यू को डबल वैल्यू माना जाएगा. डबल अंकगणित और डबल वैल्यू को दिखाने से, आईईईई 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 के बराबर, और शून्य के बराबर होता है. अगर इनपुट में एक जैसी कई वैल्यू हैं, तो सिर्फ़ पहले वैल्यू को ही माना जाएगा.

इससे जुड़ा transform_result शून्य मान होगा.

removeAllFromArray

object (ArrayValue)

फ़ील्ड में अरे से सभी दिए गए एलिमेंट हटाएं. अगर फ़ील्ड कोई अरे नहीं है या फ़ील्ड अब तक मौजूद नहीं है, तो उसे खाली अरे पर सेट कर दिया जाता है.

किसी एलिमेंट को हटाया जाना चाहिए या नहीं, यह तय करते समय अलग-अलग टाइप की मिलती-जुलती संख्याओं (जैसे, 3L और 3.0) को बराबर माना जाता है. NaN के बराबर होता है और NaN के बराबर, और शून्य के बराबर होता है. डुप्लीकेट वैल्यू होने पर, एक जैसी सभी वैल्यू हटा दी जाएंगी.

इससे जुड़ा transform_result शून्य मान होगा.

ServerValue

सर्वर के ज़रिए कैलकुलेट की जाने वाली वैल्यू.

Enums
SERVER_VALUE_UNSPECIFIED नहीं बताया गया है इस वैल्यू का इस्तेमाल नहीं किया जाना चाहिए.
REQUEST_TIME वह समय जब सर्वर ने मिलीसेकंड में सटीक जानकारी के साथ, अनुरोध को प्रोसेस किया. अगर किसी ट्रांज़ैक्शन में कई फ़ील्ड (एक ही या अलग-अलग दस्तावेज़) पर इसका इस्तेमाल किया जाता है, तो सभी फ़ील्ड को एक ही सर्वर टाइमस्टैंप मिलेगा.