Method: projects.databases.documents.batchGet

รับเอกสารหลายรายการ

เราไม่รับประกันว่าเอกสารที่แสดงผลโดยวิธีการนี้จะได้รับการส่งคืนในลำดับเดียวกับที่ขอ

คำขอ HTTP

POST https://firestore.googleapis.com/v1beta1/{database=projects/*/databases/*}/documents:batchGet

URL ใช้ไวยากรณ์การแปลง gRPC

พารามิเตอร์เส้นทาง

พารามิเตอร์
database

string

ต้องระบุ ชื่อฐานข้อมูล ในรูปแบบ: projects/{projectId}/databases/{databaseId}

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างต่อไปนี้

การแสดง JSON
{
  "documents": [
    string
  ],
  "mask": {
    object (DocumentMask)
  },

  // Union field consistency_selector can be only one of the following:
  "transaction": string,
  "newTransaction": {
    object (TransactionOptions)
  },
  "readTime": string
  // End of list of possible types for union field consistency_selector.
}
ช่อง
documents[]

string

ชื่อเอกสารที่จะเรียกดู ในรูปแบบ: projects/{projectId}/databases/{databaseId}/documents/{document_path} คำขอจะล้มเหลวหากเอกสารรายการใดรายการหนึ่งไม่ใช่ทรัพยากรย่อยของ database ที่ระบุ โดยระบบจะยกเว้นชื่อที่ซ้ำกัน

mask

object (DocumentMask)

ช่องที่จะแสดงผล หากไม่ได้ตั้งค่า ระบบจะแสดงฟิลด์ทั้งหมด

หากเอกสารมีช่องที่ไม่ได้อยู่ในมาสก์นี้ ระบบจะไม่แสดงช่องนั้นในคำตอบ

ฟิลด์สหภาพ consistency_selector โหมดความสอดคล้องสำหรับธุรกรรมนี้ หากไม่ได้ตั้งค่า ระบบจะใช้ความสอดคล้องขั้นสูงโดยค่าเริ่มต้น consistency_selector ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
transaction

string (bytes format)

อ่านเอกสารในธุรกรรม

สตริงที่เข้ารหัสฐาน 64

newTransaction

object (TransactionOptions)

เริ่มธุรกรรมใหม่และอ่านเอกสาร ค่าเริ่มต้นคือธุรกรรมแบบอ่านอย่างเดียว ระบบจะแสดงรหัสธุรกรรมใหม่เป็นคำตอบแรกในสตรีม

readTime

string (Timestamp format)

อ่านเอกสารแบบเดียวกับ ณ เวลาที่ระบุ

โดยต้องเป็นการประทับเวลาที่แม่นยำในระดับไมโครวินาทีภายใน 1 ชั่วโมงที่ผ่านมา หรือหากเปิดใช้การกู้คืนช่วงเวลาอยู่ ก็อาจเป็นการประทับเวลาแบบเต็มนาทีภายในช่วง 7 วันที่ผ่านมาด้วย

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

เนื้อหาการตอบกลับ

การตอบกลับที่สตรีมสำหรับ Firestore.BatchGetDocuments

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "transaction": string,
  "readTime": string,

  // Union field result can be only one of the following:
  "found": {
    object (Document)
  },
  "missing": string
  // End of list of possible types for union field result.
}
ช่อง
transaction

string (bytes format)

ธุรกรรมที่เริ่มต้นโดยเป็นส่วนหนึ่งของคำขอนี้ จะมีการตั้งค่าในการตอบกลับครั้งแรกเท่านั้น และจะตั้งค่า BatchGetDocumentsRequest.new_transaction ในคำขอเท่านั้น

สตริงที่เข้ารหัสฐาน 64

readTime

string (Timestamp format)

เวลาที่อ่านเอกสาร ซึ่งอาจเพิ่มขึ้นแบบโมฆะ ในกรณีนี้ เรารับประกันว่าเอกสารก่อนหน้าในสตรีมผลลัพธ์จะไม่มีการเปลี่ยนแปลงระหว่าง ReadTime และรายการนี้

การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

ฟิลด์สหภาพ result ผลลัพธ์เดียว ค่านี้สามารถเว้นว่างไว้ได้ หากเซิร์ฟเวอร์เพียงแค่ส่งคืนธุรกรรม result ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
found

object (Document)

เอกสารที่ขอไปแล้ว

missing

string

ชื่อเอกสารที่ขอไป แต่ไม่มีชื่ออยู่ ในรูปแบบ: projects/{projectId}/databases/{databaseId}/documents/{document_path}

ขอบเขตการให้สิทธิ์

ต้องใช้ขอบเขต OAuth อย่างใดอย่างหนึ่งต่อไปนี้

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมการตรวจสอบสิทธิ์