Method: projects.databases.documents.runQuery

ทำการค้นหา

คำขอ HTTP

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

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

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

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

string

ต้องระบุ ชื่อทรัพยากรระดับบนสุด ในรูปแบบ: projects/{projectId}/databases/{databaseId}/documents หรือ projects/{projectId}/databases/{databaseId}/documents/{document_path} เช่น projects/my-project/databases/my-database/documents หรือ projects/my-project/databases/my-database/documents/chatrooms/my-chatroom

เนื้อความของคำขอ

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

การแสดง JSON
{
  "explainOptions": {
    object (ExplainOptions)
  },

  // Union field query_type can be only one of the following:
  "structuredQuery": {
    object (StructuredQuery)
  }
  // End of list of possible types for union field query_type.

  // 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.
}
ช่อง
explainOptions

object (ExplainOptions)

ไม่บังคับ อธิบายตัวเลือกต่างๆ สำหรับการค้นหา หากมีการตั้งค่า ระบบจะแสดงผลสถิติคำค้นหาเพิ่มเติม หากไม่ตรง ระบบจะแสดงเฉพาะผลการค้นหา

ช่องการรวม query_type คำค้นหาที่จะเรียกใช้ query_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
structuredQuery

object (StructuredQuery)

การค้นหาแบบมีโครงสร้าง

ช่องการรวม 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.RunQuery

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

การแสดง JSON
{
  "transaction": string,
  "document": {
    object (Document)
  },
  "readTime": string,
  "skippedResults": integer,
  "explainMetrics": {
    object (ExplainMetrics)
  },

  // Union field continuation_selector can be only one of the following:
  "done": boolean
  // End of list of possible types for union field continuation_selector.
}
ช่อง
transaction

string (bytes format)

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

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

document

object (Document)

ผลลัพธ์การค้นหา ไม่ได้ตั้งค่าไว้เมื่อรายงานความคืบหน้าบางส่วน

readTime

string (Timestamp format)

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

หากการค้นหาไม่แสดงผลลัพธ์ใดๆ ระบบจะส่งคำตอบที่มี readTime และไม่มี document และแสดงเวลาที่เรียกใช้การค้นหา

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

skippedResults

integer

จำนวนผลลัพธ์ที่ถูกข้ามเนื่องจากมีการชดเชยระหว่างคำตอบล่าสุดและคำตอบปัจจุบัน

explainMetrics

object (ExplainMetrics)

ข้อความค้นหาอธิบายเมตริก ซึ่งจะปรากฏก็ต่อเมื่อระบุ RunQueryRequest.explain_options และจะส่งเพียงครั้งเดียวพร้อมกับคำตอบสุดท้ายในสตรีม

ช่องการรวม continuation_selector โหมดต่อสำหรับการค้นหา หากมี แสดงว่าสตรีมคำตอบการค้นหาปัจจุบันเสร็จสิ้นแล้ว ซึ่งอาจตั้งค่าโดยมีหรือไม่มี document แต่เมื่อตั้งค่าแล้ว จะไม่แสดงผลลัพธ์เพิ่มเติม continuation_selector ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
done

boolean

หากมีอยู่ Firestore ได้ดำเนินการตามคำขอเสร็จสมบูรณ์แล้วและจะไม่มีการส่งคืนเอกสารเพิ่มเติม

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

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

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

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