แบ่งพาร์ติชันการค้นหาโดยแสดงผลเคอร์เซอร์พาร์ติชันที่ใช้เรียกใช้การค้นหาพร้อมกันได้ เคอร์เซอร์พาร์ติชันที่แสดงผลคือจุดแยกที่ document.runQuery สามารถใช้เป็นจุดเริ่มต้น/จุดสิ้นสุดสำหรับผลการค้นหา
คำขอ HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
URL ใช้ไวยากรณ์การแปลง gRPC
พารามิเตอร์เส้นทาง
พารามิเตอร์ | |
---|---|
parent |
ต้องระบุ ชื่อทรัพยากรระดับบนสุด ในรูปแบบ: |
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างต่อไปนี้
การแสดง JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
ช่อง | |
---|---|
partitionCount |
จำนวนจุดพาร์ติชันสูงสุดที่ต้องการ พาร์ติชันอาจแสดงในหน้าผลลัพธ์หลายหน้า ตัวเลขต้องเป็นค่าบวก จำนวนพาร์ติชันจริงที่แสดงผลอาจน้อยกว่านี้ เช่น อาจกำหนดให้น้อยกว่าจำนวนคำค้นหาพร้อมกันที่จะเรียกใช้ หรือในการเรียกใช้ไปป์ไลน์ข้อมูล 1 จำนวน โดยน้อยกว่าจำนวนผู้ปฏิบัติงานหรืออินสแตนซ์การประมวลผลที่ใช้ได้ |
pageToken |
ค่า ตัวอย่างเช่น การเรียก 2 ครั้งถัดไปโดยใช้ pageToken อาจแสดงผลดังนี้
หากต้องการได้ชุดผลลัพธ์ที่สมบูรณ์ซึ่งเรียงลำดับตามผลลัพธ์ของการค้นหาที่ส่งให้ document.partitionQuery ควรรวมชุดผลลัพธ์เข้าด้วยกัน ได้แก่ เคอร์เซอร์ A, เคอร์เซอร์ B, เคอร์เซอร์ M, เคอร์เซอร์ Q, เคอร์เซอร์ U, เคอร์เซอร์ W |
pageSize |
จำนวนพาร์ติชันสูงสุดที่จะแสดงผลในการเรียกนี้ โดยขึ้นอยู่กับ ตัวอย่างเช่น หาก |
ฟิลด์สหภาพ query_type การค้นหาที่จะแบ่งพาร์ติชัน query_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
structuredQuery |
การค้นหาแบบมีโครงสร้าง ข้อความค้นหาต้องระบุคอลเล็กชันที่มีองค์ประกอบสืบทอดทั้งหมด และเรียงลำดับตามชื่อจากน้อยไปมาก ระบบไม่รองรับตัวกรองอื่นๆ ลำดับตาม ขีดจำกัด ออฟเซ็ต และเคอร์เซอร์เริ่มต้น/สิ้นสุด |
ฟิลด์สหภาพ consistency_selector โหมดความสอดคล้องสำหรับคำขอนี้ หากไม่ได้ตั้งค่า ระบบจะใช้ความสอดคล้องขั้นสูงโดยค่าเริ่มต้น consistency_selector ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
readTime |
อ่านเอกสารแบบเดียวกับ ณ เวลาที่ระบุ โดยต้องเป็นการประทับเวลาที่แม่นยำในระดับไมโครวินาทีภายใน 1 ชั่วโมงที่ผ่านมา หรือหากเปิดใช้การกู้คืนช่วงเวลาอยู่ ก็อาจเป็นการประทับเวลาแบบเต็มนาทีภายในช่วง 7 วันที่ผ่านมาด้วย การประทับเวลาจะอยู่ในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและมีตัวเลขที่เป็นเศษส่วนได้สูงสุด 9 หลัก ตัวอย่าง: |
เนื้อหาการตอบกลับ
การตอบกลับสำหรับ Firestore.PartitionQuery
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{
"partitions": [
{
object ( |
ช่อง | |
---|---|
partitions[] |
ผลลัพธ์การแบ่งพาร์ติชัน แต่ละพาร์ติชันคือจุดแยกที่ documents.runQuery จะใช้เป็นจุดเริ่มต้นหรือจุดสิ้นสุดสำหรับผลการค้นหาได้ คำขอ document.runQuery จะต้องดำเนินการด้วยการค้นหาเดียวกันกับที่ส่งให้กับคำขอ document.partitionQuery นี้ เคอร์เซอร์พาร์ติชันจะมีการจัดเรียงตามลำดับเดียวกันกับผลลัพธ์ของการค้นหาที่ส่งไปยัง document.partitionQuery ตัวอย่างเช่น หากคำขอ document.partitionQuery แสดงผลเคอร์เซอร์พาร์ติชัน A และ B การเรียกใช้การค้นหา 3 ข้อความต่อไปนี้จะแสดงชุดผลลัพธ์ทั้งหมดของการค้นหาเดิม
ผลลัพธ์ที่ว่างเปล่าอาจบ่งชี้ว่าการค้นหามีผลลัพธ์น้อยเกินไปสำหรับการแบ่งพาร์ติชัน หรือระบบยังไม่รองรับการค้นหาดังกล่าวสำหรับการแบ่งพาร์ติชัน |
nextPageToken |
โทเค็นของหน้าเว็บที่อาจใช้เพื่อขอชุดผลลัพธ์เพิ่มเติมตามจำนวนที่ระบุโดย |
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth อย่างใดอย่างหนึ่งต่อไปนี้
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมการตรวจสอบสิทธิ์