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)

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

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

maximum

object (Value)

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

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

minimum

object (Value)

ตั้งค่าฟิลด์เป็นค่าต่ำสุดของค่าปัจจุบันและค่าที่ระบุ

ค่านี้ต้องเป็นจำนวนเต็มหรือค่าเลขทศนิยม หากช่องนี้ไม่ใช่จำนวนเต็มหรือเลขคู่ หรือยังไม่มีช่องนี้ การเปลี่ยนรูปแบบจะตั้งค่าช่องนี้เป็นค่าอินพุต หากใช้การดำเนินการขั้นต่ำในกรณีที่ช่องและค่าอินพุตเป็นประเภทผสม (กล่าวคือ 1 เป็นจำนวนเต็มและ 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 ที่เกี่ยวข้องจะเป็นค่าว่าง

removeAllFromArray

object (ArrayValue)

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

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

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

ค่าเซิร์ฟเวอร์

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

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