เรียกใช้การค้นหา
คำขอ HTTP
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:runQuery
URL ใช้ไวยากรณ์การแปลง gRPC
พารามิเตอร์เส้นทาง
พารามิเตอร์ | |
---|---|
parent |
ต้องระบุ ชื่อทรัพยากรระดับบนสุด ในรูปแบบ: |
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างต่อไปนี้
การแสดง JSON |
---|
{ "explainOptions": { object ( |
ช่อง | |
---|---|
explainOptions |
ไม่บังคับ อธิบายตัวเลือกสำหรับการสืบค้นข้อมูล หากตั้งค่าไว้ ระบบจะแสดงผลสถิติการค้นหาเพิ่มเติม ไม่เช่นนั้น ระบบจะแสดงเฉพาะผลการค้นหา |
ฟิลด์สหภาพ query_type การค้นหาที่เรียกใช้ query_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
structuredQuery |
การค้นหาแบบมีโครงสร้าง |
ฟิลด์สหภาพ consistency_selector โหมดความสอดคล้องสำหรับธุรกรรมนี้ หากไม่ได้ตั้งค่า ระบบจะใช้ความสอดคล้องขั้นสูงโดยค่าเริ่มต้น consistency_selector ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
transaction |
เรียกใช้การค้นหาภายในธุรกรรมที่ใช้งานอยู่แล้ว ค่าในส่วนนี้คือรหัสธุรกรรมที่ไม่ชัดเจนสำหรับดำเนินการค้นหา สตริงที่เข้ารหัสฐาน 64 |
newTransaction |
เริ่มธุรกรรมใหม่และอ่านเอกสาร ค่าเริ่มต้นคือธุรกรรมแบบอ่านอย่างเดียว ระบบจะแสดงรหัสธุรกรรมใหม่เป็นคำตอบแรกในสตรีม |
readTime |
อ่านเอกสารแบบเดียวกับ ณ เวลาที่ระบุ โดยต้องเป็นการประทับเวลาที่แม่นยำในระดับไมโครวินาทีภายใน 1 ชั่วโมงที่ผ่านมา หรือหากเปิดใช้การกู้คืนช่วงเวลาอยู่ ก็อาจเป็นการประทับเวลาแบบเต็มนาทีภายในช่วง 7 วันที่ผ่านมาด้วย การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
เนื้อหาการตอบกลับ
การตอบกลับสำหรับ Firestore.RunQuery
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{ "transaction": string, "document": { object ( |
ช่อง | |
---|---|
transaction |
ธุรกรรมที่เริ่มต้นโดยเป็นส่วนหนึ่งของคำขอนี้ ตั้งค่าได้ในคำตอบแรกเท่านั้น และจะตั้งค่าได้เฉพาะเมื่อมีการตั้งค่า สตริงที่เข้ารหัสฐาน 64 |
document |
ผลการค้นหาที่ไม่มีการตั้งค่าเมื่อรายงานความคืบหน้าเพียงบางส่วน |
readTime |
เวลาที่อ่านเอกสาร จำนวนนี้อาจเพิ่มขึ้นทีละน้อย ในกรณีนี้ เรารับประกันว่าเอกสารก่อนหน้าในสตรีมผลลัพธ์จะไม่มีการเปลี่ยนแปลงระหว่าง หากการค้นหาไม่แสดงผลลัพธ์ ระบบจะตอบกลับด้วย การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
skippedResults |
จำนวนผลลัพธ์ที่ข้ามเนื่องจากออฟเซ็ตระหว่างคำตอบล่าสุดและคำตอบปัจจุบัน |
explainMetrics |
เมตริกอธิบายการค้นหา ซึ่งจะแสดงเมื่อมีการระบุ |
ฟิลด์สหภาพ continuation_selector โหมดความต่อเนื่องสำหรับการค้นหา หากมี แสดงว่าสตรีมคำตอบของการค้นหาปัจจุบันสิ้นสุดแล้ว ซึ่งอาจตั้งค่าโดยมีหรือไม่มี document แต่เมื่อตั้งค่าแล้วจะทำให้ระบบไม่แสดงผลลัพธ์อีก continuation_selector ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
done |
หากมี Firestore ได้ดำเนินการตามคำขอเสร็จสมบูรณ์แล้ว และจะไม่มีการส่งคืนเอกสารอีก |
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth อย่างใดอย่างหนึ่งต่อไปนี้
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมการตรวจสอบสิทธิ์