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)

เพิ่มค่าที่ระบุลงในค่าปัจจุบันของช่อง

ค่านี้ต้องเป็นจำนวนเต็มหรือค่าทศนิยม หากช่องนี้ไม่ใช่จำนวนเต็มหรือคู่ หรือยังไม่มีช่องนี้ การเปลี่ยนรูปแบบจะตั้งค่าฟิลด์เป็นค่าที่ระบุ หากค่าใดค่าหนึ่งที่ระบุหรือค่าในช่องปัจจุบันเป็นเลขทศนิยม 2 ค่า ระบบจะแปลค่าทั้งสองเป็นเลขทศนิยม เลขคณิตคู่และการนำเสนอค่าทศนิยมเป็นไปตามความหมายของ IEEE 754 หากมีจำนวนเต็มบวก/ลบเพิ่มเติม ฟิลด์นี้จะถูกแก้ไขให้เป็นจำนวนเต็มบวก/ลบที่มีค่าที่สุด

maximum

object (Value)

ตั้งค่าช่องนี้ให้เป็นค่าสูงสุดของค่าปัจจุบันและค่าที่กำหนด

ค่านี้ต้องเป็นจำนวนเต็มหรือค่าทศนิยม หากช่องนี้ไม่ใช่จำนวนเต็มหรือคู่ หรือยังไม่มีช่องนี้ การเปลี่ยนรูปแบบจะตั้งค่าฟิลด์เป็นค่าที่ระบุ หากใช้การดำเนินการสูงสุดโดยที่ฟิลด์และค่าอินพุตเป็นประเภทผสม (นั่นคือ 1 เป็นจำนวนเต็มและหนึ่งเป็นเลขคู่) ฟิลด์จะใช้ประเภทของตัวถูกดำเนินการที่มีขนาดใหญ่ หากตัวถูกดำเนินการเท่ากัน (เช่น 3 และ 3.0) ฟิลด์นี้จะไม่เปลี่ยนแปลง 0, 0.0 และ -0.0 เป็น 0 ทั้งหมด ค่าสูงสุดของค่าที่จัดเก็บไว้เป็น 0 และค่าที่ป้อนเป็นศูนย์จะเป็นค่าที่เก็บไว้เสมอ ค่าสูงสุดของค่าตัวเลข x และ NaN คือ NaN

minimum

object (Value)

ตั้งค่าช่องนี้เป็นค่าต่ำสุดของค่าปัจจุบันและค่าที่กำหนด

ค่านี้ต้องเป็นจำนวนเต็มหรือค่าทศนิยม หากช่องนี้ไม่ใช่จำนวนเต็มหรือคู่ หรือยังไม่มีช่องนี้ การเปลี่ยนรูปแบบจะตั้งค่าช่องนี้เป็นค่าอินพุต หากใช้การดำเนินการขั้นต่ำเมื่อฟิลด์และค่าอินพุตเป็นประเภทผสม (นั่นคือ 1 เป็นจำนวนเต็มและหนึ่งเป็นเลขคู่) ฟิลด์จะใช้ประเภทของตัวถูกดำเนินการขนาดเล็ก หากตัวถูกดำเนินการเท่ากัน (เช่น 3 และ 3.0) ฟิลด์นี้จะไม่เปลี่ยนแปลง 0, 0.0 และ -0.0 เป็น 0 ทั้งหมด ค่าต่ำสุดของค่าที่จัดเก็บไว้เป็น 0 และค่าที่ป้อนเป็น 0 จะเป็นค่าที่เก็บไว้เสมอ ค่าตัวเลขต่ำสุดของ x และ NaN คือ NaN

appendMissingElements

object (ArrayValue)

เพิ่มองค์ประกอบที่ระบุตามลําดับหากยังไม่มีอยู่ในค่าของช่องปัจจุบัน หากช่องนี้ไม่ใช่อาร์เรย์ หรือยังไม่มีช่องนี้ ระบบจะตั้งค่าให้เป็นอาร์เรย์ว่างก่อน

จำนวนที่เท่ากันของประเภทต่างๆ (เช่น 3L และ 3.0) จะถือว่าเท่ากันเมื่อตรวจสอบว่ามีค่าขาดหายไปหรือไม่ NaN เท่ากับ NaN และ Null เท่ากับ Null หากข้อมูลที่ป้อนมีค่าที่เทียบเท่าหลายค่า ระบบจะพิจารณาเฉพาะค่าแรก

Transform_result ที่เกี่ยวข้องจะเป็นค่า Null

removeAllFromArray

object (ArrayValue)

นำองค์ประกอบที่ระบุทั้งหมดออกจากอาร์เรย์ในช่อง หากช่องนี้ไม่ใช่อาร์เรย์ หรือยังไม่มีช่องนี้ ระบบจะตั้งค่าเป็นอาร์เรย์ที่ว่างเปล่า

จำนวนที่เท่ากันของประเภทต่างๆ (เช่น 3L และ 3.0) จะถือว่าเท่ากันเมื่อตัดสินใจว่าควรนำองค์ประกอบออกหรือไม่ NaN เท่ากับ NaN และ Null เท่ากับ Null การดำเนินการนี้จะนำค่าที่เทียบเท่าทั้งหมดออกหากมีรายการที่ซ้ำกัน

Transform_result ที่เกี่ยวข้องจะเป็นค่า Null

ServerValue

ค่าที่เซิร์ฟเวอร์จะคำนวณ

Enum
SERVER_VALUE_UNSPECIFIED ไม่ระบุ ต้องไม่ใช้ค่านี้
REQUEST_TIME เวลาที่เซิร์ฟเวอร์ประมวลผลคำขอด้วยความแม่นยำในระดับมิลลิวินาที หากใช้ในหลายช่อง (เอกสารเดียวกันหรือต่างกัน) ในธุรกรรม ช่องทั้งหมดจะได้รับการประทับเวลาของเซิร์ฟเวอร์เหมือนกัน