لتنفيذ استعلام.
طلب HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:runQuery
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
مَعلمات المسار
المَعلمات | |
---|---|
parent |
مطلوب. اسم المورد الرئيسي. بالتنسيق: |
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "explainOptions": { object ( |
الحقول | |
---|---|
explainOptions |
هذه السمة اختيارية. شرح خيارات الاستعلام. وفي حال ضبطها، سيتم عرض إحصاءات إضافية لطلبات البحث. وإذا لم يكن الأمر كذلك، فسيتم عرض نتائج الاستعلام فقط. |
حقل الاتحاد query_type . الاستعلام المطلوب تنفيذه. يمكن أن يكون query_type واحدًا فقط مما يلي: |
|
structuredQuery |
طلب بحث منظم. |
حقل الاتحاد consistency_selector . وضع الاتساق لهذه المعاملة وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
transaction |
نفِّذ الاستعلام ضمن معاملة نشطة بالفعل. القيمة هنا هي معرّف المعاملة مبهم لتنفيذ الاستعلام فيه. سلسلة بترميز base64. |
newTransaction |
يبدأ معاملة جديدة ويقرأ المستندات. يتم استخدام القيمة التلقائية لمعاملة القراءة فقط. سيتم عرض معرِّف المعاملة الجديد كأول ردّ في مصدر البيانات. |
readTime |
يقرأ المستندات كما كانت في الوقت المحدّد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
نص الاستجابة
تمثّل هذه السمة الردّ على Firestore.RunQuery
.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "transaction": string, "document": { object ( |
الحقول | |
---|---|
transaction |
المعاملة التي بدأت كجزء من هذا الطلب. لا يمكن ضبط هذا الإعداد إلا في الرد الأول، وفي حال ضبط السمة سلسلة بترميز base64. |
document |
نتيجة طلب بحث، لم يتم ضبطها عند الإبلاغ عن التقدّم الجزئي. |
readTime |
تمثّل هذه السمة وقت قراءة المستند. وقد يكون هذا يزداد بصورة رتيبة؛ في هذه الحالة، نضمن عدم تغيير المستندات السابقة في تدفق النتائج بين إذا لم يعرض طلب البحث أي نتائج، سيتم إرسال ردّ بـ طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
skippedResults |
عدد النتائج التي تم تخطّيها بسبب الفارق بين الردّ الأخير والاستجابة الحالية. |
explainMetrics |
مقاييس شرح طلب البحث ولا تتوفّر هذه السمة إلا عند توفير |
حقل الاتحاد continuation_selector . وضع المتابعة للاستعلام. في حال توفُّرها، يعني ذلك أنّ سلسلة الردود الحالية على طلب البحث قد انتهت. يمكن ضبط هذه السياسة مع توفُّر document أو بدونه، ولكن عند ضبطها، لن يتم عرض المزيد من النتائج. يمكن أن يكون continuation_selector واحدًا فقط مما يلي: |
|
done |
في حال توفّره، يعني ذلك أنّ Firestore قد أنهى الطلب بالكامل ولن يتم إرجاع المزيد من المستندات. |
نطاقات الأذونات
يتطلب هذا الإعداد أحد نطاقات OAuth التالية:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة حول المصادقة.