تنفيذ استعلام.
طلب 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 "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
نص الاستجابة
الردّ على Firestore.RunQuery
.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "transaction": string, "document": { object ( |
الحقول | |
---|---|
transaction |
المعاملة التي بدأت كجزء من هذا الطلب لا يمكن الضبط إلا في الردّ الأول، وفقط في حال ضبط سلسلة بترميز base64. |
document |
نتيجة طلب بحث، لا يتم الضبط عند الإبلاغ عن التقدم الجزئي. |
readTime |
الوقت الذي تمت فيه قراءة المستند. قد يكون هذا الأمر في تزايد مستمر، وفي هذه الحالة، نضمن عدم تغيير المستندات السابقة في سلسلة النتائج بين إذا لم يعرض طلب البحث أي نتائج، سيتم إرسال ردّ يتضمّن طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
skippedResults |
عدد النتائج التي تم تخطّيها بسبب معادلة بين الردّ الأخير والحالي |
explainMetrics |
مقاييس لشرح طلبات البحث ولا تتوفّر هذه السمة إلا عند توفير السمة |
حقل الاتحاد continuation_selector وضع المتابعة لطلب البحث. في حال توفّرها، يشير ذلك إلى انتهاء بث الردّ الحالي على طلب البحث. يمكن ضبط هذه السياسة مع توفّر document أو بدونها، ولكن عند ضبطها، لا يتم عرض المزيد من النتائج. يمكن أن يكون الحقل "continuation_selector " واحدًا فقط مما يلي: |
|
done |
في حال توفُّره، يكون متجر Firestore قد أنهى الطلب بالكامل ولن يتم إرجاع المزيد من المستندات. |
نطاقات التفويض
يتطلب استخدام أحد نطاقات OAuth التالية:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على المصادقة.