الفهرس
Firestore
(واجهة)AggregationResult
(رسالة)ArrayValue
(رسالة)BatchGetDocumentsRequest
(رسالة)BatchGetDocumentsResponse
(رسالة)BatchWriteRequest
(رسالة)BatchWriteResponse
(رسالة)BeginTransactionRequest
(رسالة)BeginTransactionResponse
(رسالة)BitSequence
(رسالة)BloomFilter
(رسالة)CommitRequest
(رسالة)CommitResponse
(رسالة)CreateDocumentRequest
(رسالة)Cursor
(رسالة)DeleteDocumentRequest
(رسالة)Document
(رسالة)DocumentChange
(رسالة)DocumentDelete
(رسالة)DocumentMask
(رسالة)DocumentRemove
(رسالة)DocumentTransform
(رسالة)DocumentTransform.FieldTransform
(رسالة)DocumentTransform.FieldTransform.ServerValue
(تعداد)ExecutionStats
(رسالة)ExistenceFilter
(رسالة)ExplainMetrics
(رسالة)ExplainOptions
(رسالة)GetDocumentRequest
(رسالة)ListCollectionIdsRequest
(رسالة)ListCollectionIdsResponse
(رسالة)ListDocumentsRequest
(رسالة)ListDocumentsResponse
(رسالة)ListenRequest
(رسالة)ListenResponse
(رسالة)MapValue
(رسالة)PartitionQueryRequest
(رسالة)PartitionQueryResponse
(رسالة)PlanSummary
(رسالة)Precondition
(رسالة)RollbackRequest
(رسالة)RunAggregationQueryRequest
(رسالة)RunAggregationQueryResponse
(رسالة)RunQueryRequest
(رسالة)RunQueryResponse
(رسالة)StructuredAggregationQuery
(رسالة)StructuredAggregationQuery.Aggregation
(رسالة)StructuredAggregationQuery.Aggregation.Avg
(رسالة)StructuredAggregationQuery.Aggregation.Count
(رسالة)StructuredAggregationQuery.Aggregation.Sum
(رسالة)StructuredQuery
(رسالة)StructuredQuery.CollectionSelector
(رسالة)StructuredQuery.CompositeFilter
(رسالة)StructuredQuery.CompositeFilter.Operator
(تعداد)StructuredQuery.Direction
(تعداد)StructuredQuery.FieldFilter
(رسالة)StructuredQuery.FieldFilter.Operator
(تعداد)StructuredQuery.FieldReference
(رسالة)StructuredQuery.Filter
(رسالة)StructuredQuery.FindNearest
(رسالة)StructuredQuery.FindNearest.DistanceMeasure
(تعداد)StructuredQuery.Order
(رسالة)StructuredQuery.Projection
(رسالة)StructuredQuery.UnaryFilter
(رسالة)StructuredQuery.UnaryFilter.Operator
(تعداد)Target
(رسالة)Target.DocumentsTarget
(رسالة)Target.QueryTarget
(رسالة)TargetChange
(رسالة)TargetChange.TargetChangeType
(تعداد)TransactionOptions
(رسالة)TransactionOptions.ReadOnly
(رسالة)TransactionOptions.ReadWrite
(رسالة)UpdateDocumentRequest
(رسالة)Value
(رسالة)Write
(رسالة)WriteRequest
(رسالة)WriteResponse
(رسالة)WriteResult
(رسالة)
Firestore
خدمة Cloud Firestore
Cloud Firestore هي قاعدة بيانات لمستندات NoSQL وسريعة ومُدارة بالكامل بدون خادم ومستنِدة إلى السحابة الإلكترونية، وتعمل على تبسيط عملية تخزين البيانات ومزامنتها والاستعلام عن البيانات لتطبيقات الأجهزة الجوّالة والويب وتطبيقات إنترنت الأشياء على نطاق عالمي. وتوفر مكتبات العملاء التابعة لها مزامنة مباشرة ودعمًا بلا اتصال بالإنترنت، بينما تعمل ميزات الأمان وعمليات الدمج مع Firebase وGoogle Cloud Platform على تسريع إنشاء تطبيقات بدون خوادم فعليًا.
الدفعة الحصول على المستندات |
---|
الحصول على مستندات متعددة لا نضمن أن يتم إرجاع المستندات التي تم إرجاعها باستخدام هذه الطريقة بالترتيب نفسه الذي تم طلبها به.
|
كتابة مجمّعة |
---|
يُطبق مجموعة من عمليات الكتابة. لا تطبق طريقة BatchWrite عمليات الكتابة على نحو ذري ويمكن أن تطبقها بدون ترتيب. لا تسمح الطريقة بأكثر من عملية كتابة واحدة لكل مستند. تنجح كل عملية كتابة أو تفشل بشكل مستقل. راجِع إذا كنت تتطلّب مجموعة من عمليات الكتابة المطبَّقة بشكلٍ كامل، استخدِم
|
بدء المعاملة |
---|
بدء معاملة جديدة
|
إتمام |
---|
إتمام معاملة، مع تعديل المستندات اختياريًا
|
إنشاء مستند |
---|
ينشئ مستندًا جديدًا.
|
حذف المستند |
---|
حذف مستند
|
الحصول علىمستند |
---|
للحصول على مستند واحد
|
أرقام تعريف ListCollection |
---|
يسرد جميع معرّفات المجموعة أسفل مستند.
|
ListDocuments (مستندات القائمة) |
---|
يسرد المستندات.
|
الاستماع |
---|
الاستماع إلى التغييرات لا تتوفر هذه الطريقة إلا من خلال gRPC أو WebChannel (وليس REST).
|
طلب القسم |
---|
لتقسيم استعلام عن طريق عرض مؤشرات الأقسام التي يمكن استخدامها لتشغيل الاستعلام بشكل متوازٍ. مؤشرات التقسيم المعروضة هي نقاط تقسيم يمكن استخدامها بواسطة RunQuery كنقاط بداية/نهاية لنتائج الاستعلام.
|
العودة إلى الحالة السابقة |
---|
إرجاع معاملة
|
طلب RunAggregationQuery |
---|
لتنفيذ طلب بحث عن تجميع. بدلاً من عرض نتائج مثال على المستوى العالي:
|
تنفيذ طلب البحث |
---|
لتنفيذ استعلام.
|
مستند تحديث |
---|
لتعديل مستند أو إدراجه
|
كتابة |
---|
يبث مجموعات تحديثات المستندات وعمليات حذفها بالترتيب. لا تتوفر هذه الطريقة إلا من خلال gRPC أو WebChannel (وليس REST).
|
نتيجة التجميع
نتيجة حزمة واحدة من طلب تجميع Firestore.
مفاتيح aggregate_fields
هي نفسها لجميع النتائج في طلب البحث عن التجميع، على عكس طلبات البحث في المستندات التي يمكن أن تحتوي على حقول مختلفة لكل نتيجة.
الحقول | |
---|---|
aggregate_fields |
نتيجة دوال التجميع، مثل: المفتاح هو |
قيمة المصفوفة
قيمة مصفوفة.
الحقول | |
---|---|
values[] |
القيم في الصفيف |
طلب مجمّع للمستندات
طلب الحصول على Firestore.BatchGetDocuments
الحقول | |
---|---|
database |
مطلوب. اسم قاعدة البيانات. بالتنسيق: |
documents[] |
أسماء المستندات المطلوب استردادها بالتنسيق: |
mask |
الحقول المطلوب عرضها. وفي حال تم تركها بدون ضبط، سيتم عرض جميع الحقول. إذا كان المستند يحتوي على حقل غير موجود في هذا القناع، لن يتم عرض هذا الحقل في الرد. |
حقل الاتحاد consistency_selector . وضع الاتساق لهذه المعاملة وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
transaction |
يقرأ المستندات في المعاملة. |
new_transaction |
يبدأ معاملة جديدة ويقرأ المستندات. يتم استخدام القيمة التلقائية لمعاملة القراءة فقط. سيتم عرض معرِّف المعاملة الجديد كأول ردّ في مصدر البيانات. |
read_time |
يقرأ المستندات كما هي في الوقت المحدد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
استجابة BatchGetDocumentsResponse
الردّ الذي تم بثه لـ "Firestore.BatchGetDocuments
"
الحقول | |
---|---|
transaction |
المعاملة التي بدأت كجزء من هذا الطلب. سيتم ضبطه في الردّ الأول فقط وفي حال ضبط السمة |
read_time |
تمثّل هذه السمة وقت قراءة المستند. قد يكون هذا في ازدياد أحادي، وفي هذه الحالة، نضمن عدم تغيير المستندات السابقة في تدفق النتائج بين read_time وهذا الوقت. |
حقل الاتحاد result . نتيجة واحدة. ويمكن أن يكون هذا الحقل فارغًا إذا كان الخادم يعرض معاملةً فقط. يمكن أن يكون result واحدًا فقط مما يلي: |
|
found |
المستند الذي تم طلبه |
missing |
اسم المستند الذي تم طلبه ولكنه غير موجود. بالتنسيق: |
طلب مجمّع
طلب الحصول على Firestore.BatchWrite
الحقول | |
---|---|
database |
مطلوب. اسم قاعدة البيانات. بالتنسيق: |
writes[] |
العبارات التي سيتم تطبيقها. لا تنطبق الطريقة على الكتابة بشكل كامل ولا تضمن الطلب. تنجح كل عملية كتابة أو تفشل بشكل مستقل. لا يمكنك الكتابة إلى المستند نفسه أكثر من مرة لكل طلب. |
labels |
التصنيفات المرتبطة بالكتابة المجمّعة |
ردّ مجمّع
الرد من Firestore.BatchWrite
الحقول | |
---|---|
write_results[] |
هي نتيجة تطبيق عمليات الكتابة. تتوافق نتيجة i-th write هذه مع الكتابة i-th في الطلب. |
status[] |
حالة تطبيق عمليات الكتابة. تتوافق حالة i-th write هذه مع i-th write في الطلب. |
طلب بدء العملية
طلب الحصول على Firestore.BeginTransaction
الحقول | |
---|---|
database |
مطلوب. اسم قاعدة البيانات. بالتنسيق: |
options |
خيارات المعاملة يتم ضبط الإعدادات التلقائية على معاملة قراءة وكتابة. |
بدء المعاملة
تمثّل هذه السمة الردّ على Firestore.BeginTransaction
.
الحقول | |
---|---|
transaction |
المعاملة التي بدأت. |
تسلسل البت
يشير ذلك المصطلح إلى تسلسل من وحدات البت، ويتم ترميزه في مصفوفة بايت.
تخزّن كل بايت في مصفوفة البايت bitmap
8 بت من التسلسل. الاستثناء الوحيد هو البايت الأخير، الذي قد يخزن 8 بت أو أقل. تحدِّد padding
عدد وحدات بت البايت الأخير الذي سيتم تجاهله على أنّه "مساحة متروكة". قيم "المساحة المتروكة" وحدات البت غير محددة ويجب تجاهلها.
لاسترداد البت الأول، البت 0، احسب: (bitmap[0] & 0x01) != 0
. لاسترداد البت الثاني، البت 1، احسب: (bitmap[0] & 0x02) != 0
. لاسترداد البت الثالث، بت 2، احسب: (bitmap[0] & 0x04) != 0
. لاسترداد البت الرابع، البت 3، احسب: (bitmap[0] & 0x08) != 0
. لاسترداد البت ن، احسب: (bitmap[n / 8] & (0x01 << (n % 8))) != 0
.
"الحجم" يتم حساب BitSequence
(عدد وحدات البت التي تحتوي عليها) باستخدام هذه الصيغة: (bitmap.length * 8) - padding
.
الحقول | |
---|---|
bitmap |
وحدات البايت التي تشفِّر تسلسل البت. وقد يكون طولها صفرًا. |
padding |
عدد وحدات بت للبايت الأخير في |
فلتر BloomFilter
فلتر بلوم (https://en.wikipedia.org/wiki/Bloom_filter)
يعمل فلتر Bloom على تجزئة الإدخالات باستخدام MD5 ويتعامل مع تجزئة 128 بت الناتجة كقيمتَين مختلفتَين لتجزئة 64 بت، ويتم تفسيرهما كأعداد صحيحة غير موقَّعة باستخدام ترميز 2 تكامل.
ويتم بعد ذلك استخدام قيمتَي التجزئة، المُسمّى h1
وh2
، لاحتساب قيم تجزئة hash_count
باستخدام الصيغة، بدءًا من i=0
:
h(i) = h1 + (i * h2)
بعد ذلك، تؤخذ هذه القيم الناتجة في قالب حسب عدد وحدات البت في فلتر الإزهار للحصول على وحدات بت الفلتر المتفتح لاختبارها في الإدخال المحدّد.
الحقول | |
---|---|
bits |
بيانات فلتر الزهور |
hash_count |
عدد علامات التجزئة التي تستخدمها الخوارزمية. |
تنفيذ الطلب
طلب الحصول على Firestore.Commit
الحقول | |
---|---|
database |
مطلوب. اسم قاعدة البيانات. بالتنسيق: |
writes[] |
العبارات التي سيتم تطبيقها. يتم تنفيذها دائمًا بشكل كامل وبالترتيب. |
transaction |
في حال ضبط هذه السياسة، يتم تطبيق جميع عمليات الشراء في هذه المعاملة والالتزام بها. |
الالتزام بالاستجابة
تمثّل هذه السمة الردّ على Firestore.Commit
.
الحقول | |
---|---|
write_results[] |
هي نتيجة تطبيق عمليات الكتابة. تتوافق نتيجة i-th write هذه مع الكتابة i-th في الطلب. |
commit_time |
وقت حدوث الالتزام. يمكن ضمان ظهور تأثيرات إتمام عملية الشراء عند قراءة قيمة مساوية لقيمة |
إنشاء طلب مستند
طلب الحصول على Firestore.CreateDocument
الحقول | |
---|---|
parent |
مطلوب. المرجع الرئيسي. على سبيل المثال: |
collection_id |
مطلوب. رقم تعريف المجموعة المرتبط بـ |
document_id |
رقم تعريف المستند الذي خصّصه العميل لاستخدامه لهذا المستند. هذه السمة اختيارية. إذا لم يتم تحديد هذا الحقل، سيتم تخصيص معرّف من قِبل الخدمة. |
document |
مطلوب. المستند المراد إنشاؤه. يجب عدم ضبط |
mask |
الحقول المطلوب عرضها. وفي حال تم تركها بدون ضبط، سيتم عرض جميع الحقول. إذا كان المستند يحتوي على حقل غير موجود في هذا القناع، لن يتم عرض هذا الحقل في الرد. |
المؤشر
تمثّل هذه السمة موضعًا في مجموعة نتائج طلب بحث.
الحقول | |
---|---|
values[] |
القيم التي تمثل موضعًا، بالترتيب الذي تظهر به بالترتيب حسب عبارة الاستعلام. يمكن أن يحتوي على قيم أقل مما هو محدّد في الترتيب حسب العبارة. |
before |
إذا كان الموضع قبل القيم المحددة مباشرةً أو بعدها مباشرةً، نسبةً إلى ترتيب الترتيب المحدّد في طلب البحث. |
طلب حذف مستند
طلب الحصول على Firestore.DeleteDocument
الحقول | |
---|---|
name |
مطلوب. اسم المورد للمستند المطلوب حذفه. بالتنسيق: |
current_document |
شرط مُسبَق اختياري في المستند. سيتعذّر الطلب إذا تم ضبط ذلك ولم يتم استيفاؤه من خلال المستند المستهدف. |
مستند
مستند Firestore
يجب ألا تتجاوز 1 مبيبايت إلى 4 بايت.
الحقول | |
---|---|
name |
اسم المورد للمستند، على سبيل المثال |
fields |
|
create_time |
النتائج فقط. وقت إنشاء المستند. تزداد هذه القيمة بشكل رتيب عند حذف مستند ثم إعادة إنشائه. ويمكن أيضًا مقارنتها بالقيم من مستندات أخرى و |
update_time |
النتائج فقط. آخر وقت تم فيه تغيير المستند. يتم ضبط هذه القيمة في البداية على |
تغيير المستند
تم تغيير Document
.
قد يكون ذلك نتيجة عمليات writes
متعددة، بما في ذلك عمليات الحذف، والتي نتج عنها في النهاية قيمة جديدة لـ Document
.
قد يتم عرض رسائل DocumentChange
متعددة للتغيير المنطقي نفسه، في حال تأثّر أهداف متعددة.
الحقول | |
---|---|
document |
الحالة الجديدة لـ في حال ضبط السياسة |
target_ids[] |
مجموعة من أرقام تعريف الاستهدافات المستهدفة التي تتطابق مع هذا المستند. |
removed_target_ids[] |
مجموعة من أرقام التعريف المستهدفة للأهداف التي لم تعُد تتطابق مع هذا المستند. |
حذف المستند
تم حذف Document
.
قد يكون ذلك نتيجة عمليات writes
متعددة، بما في ذلك التعديلات، آخرها حذف Document
.
يمكن عرض رسائل DocumentDelete
متعددة للحذف المنطقي نفسه، في حال تأثرت أهداف متعددة.
الحقول | |
---|---|
document |
اسم المورد |
removed_target_ids[] |
مجموعة من أرقام التعريف المستهدفة للأهداف التي تطابقت سابقًا مع هذا الكيان. |
read_time |
الطابع الزمني للقراءة الذي تم فيه رصد عملية الحذف. أكبر من أو يساوي |
قناع مستند
مجموعة من مسارات الحقول في مستند يتم استخدامه لتقييد عملية الحصول أو التحديث على مستند إلى مجموعة فرعية من حقوله. ويختلف ذلك عن أقنعة الحقل العادية، لأنّه يتم تحديد نطاقها دائمًا على Document
، ويستند إلى الطبيعة الديناميكية لـ Value
.
الحقول | |
---|---|
field_paths[] |
قائمة مسارات الحقول في القناع اطّلِع على |
إزالة المستند
تمت إزالة Document
من عرض الأهداف.
يتم إرساله إذا لم يعُد المستند مناسبًا لأحد الأهداف ولم يعُد معروضًا. يمكن إرسالها بدلاً من DocumentDelete أو DocumentChange إذا لم يتمكن الخادم من إرسال القيمة الجديدة للمستند.
يمكن عرض رسائل DocumentRemove
متعددة للكتابة أو الحذف المنطقي نفسه، إذا تأثّرت أهداف متعددة.
الحقول | |
---|---|
document |
اسم مورد |
removed_target_ids[] |
مجموعة من أرقام التعريف المستهدفة للأهداف التي تطابقت سابقًا مع هذا المستند. |
read_time |
الطابع الزمني للقراءة الذي تم فيه رصد عملية الإزالة أكبر أو يساوي |
تحويل المستند
تحويل المستند.
الحقول | |
---|---|
document |
اسم المستند المطلوب تحويله. |
field_transforms[] |
قائمة عمليات التحويل المطلوب تطبيقها على حقول المستند بالترتيب. يجب ألا يكون هذا الحقل فارغًا. |
تحويل الحقل
تحويل حقل المستند.
الحقول | |
---|---|
field_path |
مسار الحقل. راجِع |
حقل الاتحاد transform_type . التحويل المراد تطبيقه على أرض الواقع. يمكن أن يكون transform_type واحدًا فقط مما يلي: |
|
set_to_server_value |
لضبط الحقل على قيمة الخادم المحدّدة. |
increment |
لإضافة القيمة المحددة إلى القيمة الحالية للحقل يجب أن تكون هذه القيمة عددًا صحيحًا أو قيمة مزدوجة. إذا لم يكن الحقل عددًا صحيحًا أو مزدوجًا، أو إذا لم يكن الحقل متوفّرًا بعد، ستضبط عملية التحويل الحقل على القيمة المحدّدة. إذا كانت أي من القيمة المحددة أو قيمة الحقل الحالي مزدوجة، فسيتم تفسير كلتا القيمتين على أنهما زوجيتان. العمليات الحسابية المزدوجة وتمثيل القيم المزدوجة تتبع دلالات IEEE 754. إذا كان هناك فائض عدد صحيح موجب/سالب، يتم التعامل مع الحقل إلى أكبر عدد صحيح موجب/سالب. |
maximum |
لضبط الحقل على الحد الأقصى لقيمته الحالية والقيمة المحدّدة. يجب أن تكون هذه القيمة عددًا صحيحًا أو قيمة مزدوجة. إذا لم يكن الحقل عددًا صحيحًا أو مزدوجًا، أو إذا لم يكن الحقل متوفّرًا بعد، ستضبط عملية التحويل الحقل على القيمة المحدّدة. إذا تم تطبيق عملية الحد الأقصى حيث يكون الحقل وقيمة الإدخال من أنواع مختلطة (أي - واحد يمثل عددًا صحيحًا والآخر مزدوج) سيتخذ الحقل نوع المعامل الأكبر. إذا كانت المعاملات متكافئة (مثل 3 و3.0)، لن يتغيّر الحقل. 0 و0.0 و-0.0 جميعها صفرية. الحد الأقصى لقيمة مخزنة يكون فيها صفر وقيمة إدخال صفرية هو دائمًا القيمة المخزّنة. الحد الأقصى لأي قيمة رقمية x وNaN هو NaN. |
minimum |
لضبط الحقل على الحد الأدنى لقيمته الحالية والقيمة المحدّدة. يجب أن تكون هذه القيمة عددًا صحيحًا أو قيمة مزدوجة. إذا لم يكن الحقل عددًا صحيحًا أو مزدوجًا، أو إذا لم يكن الحقل متاحًا بعد، ستضبط عملية التحويل الحقل على قيمة الإدخال. إذا تم تطبيق عملية أدنى حيث يكون الحقل وقيمة الإدخال من أنواع مختلطة (أي - واحد يمثل عددًا صحيحًا والآخر زوجيًا) يأخذ الحقل نوع المعامل الأصغر. إذا كانت المعاملات متكافئة (مثل 3 و3.0)، لن يتغيّر الحقل. 0 و0.0 و-0.0 جميعها صفرية. الحد الأدنى لقيمة مخزنة صفرية وقيمة إدخال صفرية هو دائمًا القيمة المخزنة. الحد الأدنى لأي قيمة رقمية x وNaN هو NaN. |
append_missing_elements |
إلحاق العناصر المحددة بالترتيب إذا لم تكن موجودة من قبل في قيمة الحقل الحالي. إذا لم يكن الحقل صفيفًا، أو لم يكن الحقل متوفّرًا بعد، يتم تعيينه أولاً على الصفيف الفارغ. تعتبر الأرقام المكافئة للأنواع المختلفة (مثل 3L و3.0) متساوية عند التحقق مما إذا كانت القيمة مفقودة. NaN تساوي NaN، وNull تساوي Null. إذا كان الإدخال يحتوي على قيم مكافئة متعددة، سيتم مراعاة القيمة الأولى فقط. وستكون قيمة transform_result المقابلة هي القيمة الفارغة. |
remove_all_from_array |
إزالة كافة العناصر المحددة من الصفيف في الحقل. إذا لم يكن الحقل مصفوفة، أو لم يكن الحقل متاحًا بعد، سيتم ضبطه على مصفوفة فارغة. وتُعد الأرقام المكافئة للأنواع المختلفة (مثل 3L و3.0) متساوية عند تحديد ما إذا كان يجب إزالة عنصر أم لا. NaN تساوي NaN، وNull تساوي Null. سيؤدي هذا إلى إزالة جميع القيم المكافئة في حالة وجود تكرارات. وستكون قيمة transform_result المقابلة هي القيمة الفارغة. |
قيمة الخادم
يشير ذلك المصطلح إلى قيمة يحتسبها الخادم.
تعدادات | |
---|---|
SERVER_VALUE_UNSPECIFIED |
غير محدَّد يجب عدم استخدام هذه القيمة. |
REQUEST_TIME |
الوقت الذي عالج فيه الخادم الطلب، بدقة ملي ثانية. في حال استخدام هذه الحقول في حقول متعدّدة (المستندات نفسها أو مستندات مختلفة) في معاملة، ستحصل على الطابع الزمني نفسه للخادم. |
إحصائيات التنفيذ
إحصاءات التنفيذ الخاصة بطلب البحث
الحقول | |
---|---|
results_returned |
إجمالي عدد النتائج التي تم عرضها، بما في ذلك المستندات والتوقعات ونتائج التجميع والمفاتيح. |
execution_duration |
يشير ذلك المصطلح إلى الوقت الإجمالي اللازم لتنفيذ طلب البحث في الخلفية. |
read_operations |
إجمالي عمليات القراءة القابلة للفوترة. |
debug_stats |
تصحيح أخطاء الإحصاءات من تنفيذ طلب البحث. ويُرجى العِلم بأنّ إحصاءات تصحيح الأخطاء عرضة للتغيير مع تطوّر Firestore. يمكن أن يتضمن: { "indexes_entries_scan": "1000", "documents_scan": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } } |
فلتر التواجد
هو ملخّص لجميع المستندات التي تتطابق مع هدف معيّن.
الحقول | |
---|---|
target_id |
رقم تعريف الاستهداف الذي ينطبق عليه هذا الفلتر. |
count |
إجمالي عدد المستندات التي تطابق إذا كان مختلفًا عن عدد المستندات المطابقة في البرنامج، على العميل أن يحدد يدويًا المستندات التي لم تعد تتطابق مع الهدف. يمكن للعميل استخدام فلتر بلوم |
unchanged_names |
فلتر Bloom يحتوي، على الرغم من اسمه، على ترميزات UTF-8 بايت لأسماء الموارد لجميع المستندات التي تطابق قد يتم حذف فلتر الإزهار هذا وفقًا لتقدير الخادم، مثلاً إذا تم اعتبار أن العميل لن يستخدم هذا الفلتر أو إذا كان حسابه أو نقله مكلفًا من الناحية الحسابية. يجب أن يتعامل العملاء بسلاسة مع غياب هذا الحقل من خلال الرجوع إلى المنطق المستخدَم قبل توفّر هذا الحقل. أي إعادة إضافة الهدف بدون رمز سيرة ذاتية مميز لمعرفة المستندات في ذاكرة التخزين المؤقت للعميل غير المتزامنة. |
شرح المقاييس
شرح مقاييس طلب البحث
الحقول | |
---|---|
plan_summary |
معلومات مرحلة التخطيط للاستعلام. |
execution_stats |
إحصاءات مجمعة من تنفيذ طلب البحث. لا تتوفّر هذه الميزة إلا عند ضبط السمة |
أسباب الشرح
شرح خيارات الاستعلام.
الحقول | |
---|---|
analyze |
هذه السمة اختيارية. ما إذا كان سيتم تنفيذ هذا الاستعلام أم لا. أمّا في حال اختيار القيمة "false" (القيمة التلقائية)، فسيتم التخطيط لطلب البحث، وسيتم عرض المقاييس من مراحل التخطيط فقط. عندما تكون القيمة true، سيتم تخطيط طلب البحث وتنفيذه، وسيتم عرض نتائج طلب البحث الكاملة بالإضافة إلى مقاييس مرحلة التخطيط والتنفيذ. |
طلب GetDocumentRequest
طلب الحصول على Firestore.GetDocument
الحقول | |
---|---|
name |
مطلوب. اسم المورد للمستند الذي تريد الحصول عليه بالتنسيق: |
mask |
الحقول المطلوب عرضها. وفي حال تم تركها بدون ضبط، سيتم عرض جميع الحقول. إذا كان المستند يحتوي على حقل غير موجود في هذا القناع، لن يتم عرض هذا الحقل في الرد. |
حقل الاتحاد consistency_selector . وضع الاتساق لهذه المعاملة وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
transaction |
يقرأ المستند في إحدى المعاملات. |
read_time |
يقرأ نسخة المستند في الوقت المحدد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
طلب ListCollectionIds
طلب الحصول على Firestore.ListCollectionIds
الحقول | |
---|---|
parent |
مطلوب. المستند الرئيسي بالتنسيق: |
page_size |
الحد الأقصى لعدد النتائج المطلوب عرضها. |
page_token |
رمز مميّز للصفحة. يجب أن تكون القيمة من |
حقل الاتحاد consistency_selector . وضع الاتساق لهذا الطلب. وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
read_time |
يقرأ المستندات كما هي في الوقت المحدد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
الاستجابة لـ ListCollectionIds
الرد من Firestore.ListCollectionIds
الحقول | |
---|---|
collection_ids[] |
معرّفات المجموعات |
next_page_token |
هو رمز مميّز للصفحة يمكن استخدامه لمواصلة القائمة. |
طلب ListDocumentsRequest
طلب الحصول على Firestore.ListDocuments
الحقول | |
---|---|
parent |
مطلوب. اسم المورد الرئيسي. بالتنسيق: على سبيل المثال: |
collection_id |
هذه السمة اختيارية. رقم تعريف المجموعة المرتبط بـ على سبيل المثال: هذا الإجراء اختياري، وفي حال عدم توفيره، سيُدرج Firestore المستندات من كل المجموعات ضمن |
page_size |
هذه السمة اختيارية. الحد الأقصى لعدد المستندات المطلوب عرضها في رد واحد. قد تعرض Firestore عددًا أقل من هذه القيمة. |
page_token |
هذه السمة اختيارية. رمز مميّز للصفحة، تم تلقّيه من رد يمكنك توفير هذا الحقل لاسترداد الصفحة التالية. عند التقسيم على صفحات، يجب أن تتطابق جميع المَعلمات الأخرى (باستثناء |
order_by |
هذه السمة اختيارية. الترتيب الاختياري للمستندات المطلوب عرضها مثلاً: يعكس هذا |
mask |
هذه السمة اختيارية. الحقول المطلوب عرضها. وفي حال تم تركها بدون ضبط، سيتم عرض جميع الحقول. إذا كان المستند يحتوي على حقل غير موجود في هذا القناع، لن يتم عرض هذا الحقل في الرد. |
show_missing |
ما إذا كان يجب أن تُظهر القائمة المستندات المفقودة. أحد المستندات مفقود إذا لم يكن موجودًا، ولكن توجد مستندات فرعية متداخلة أسفله. عندما تكون القيمة true، سيتم عرض هذه المستندات المفقودة باستخدام مفتاح ولكن لن تحتوي على مجموعة من الحقول، أو لا يجوز أن تحدّد الطلبات مع |
حقل الاتحاد consistency_selector . وضع الاتساق لهذه المعاملة وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
transaction |
يُرجى إجراء القراءة كجزء من معاملة نشطة حاليًا. |
read_time |
نفِّذ القراءة في الوقت المحدَّد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
رد ListDocumentsResponse
تمثّل هذه السمة الردّ على Firestore.ListDocuments
.
الحقول | |
---|---|
documents[] |
تم العثور على "المستندات" |
next_page_token |
رمز مميز لاسترداد الصفحة التالية من المستندات. في حال إسقاط هذا الحقل، لن تظهر أي صفحات لاحقة. |
طلب الاستماع
طلب للحصول على Firestore.Listen
الحقول | |
---|---|
database |
مطلوب. اسم قاعدة البيانات. بالتنسيق: |
labels |
التصنيفات المرتبطة بهذا التغيير المستهدف. |
حقل الاتحاد target_change . يتغيّر الاستهداف المتوافق. يمكن أن يكون target_change واحدًا فقط مما يلي: |
|
add_target |
هدف مطلوب إضافته إلى مصدر البيانات هذا. |
remove_target |
رقم تعريف الهدف المطلوب إزالته من مصدر البيانات هذا. |
استجابة الاستماع
تمثّل هذه السمة الردّ على Firestore.Listen
.
الحقول | |
---|---|
حقل الاتحاد response_type . الاستجابات المتوافقة. يمكن أن يكون response_type واحدًا فقط مما يلي: |
|
target_change |
تم تغيير الأهداف. |
document_change |
تم تغيير |
document_delete |
تم حذف |
document_remove |
تمت إزالة |
filter |
عامل تصفية لتطبيقه على مجموعة المستندات التي تم عرضها سابقًا للهدف المحدّد. يتم عرضه عندما ربما تمت إزالة المستندات من الهدف المحدد، لكن المستندات الدقيقة غير معروفة. |
قيمة خريطة
قيمة الخريطة.
الحقول | |
---|---|
fields |
حقول الخريطة. تمثل مفاتيح الخريطة أسماء الحقول. تم حجز أسماء الحقول التي تتطابق مع التعبير العادي |
طلب التقسيم
طلب الحصول على Firestore.PartitionQuery
الحقول | |
---|---|
parent |
مطلوب. اسم المورد الرئيسي. بالتنسيق: |
partition_count |
تمثّل هذه السمة الحد الأقصى المطلوب لعدد نقاط التقسيم. وقد يتم عرض الأقسام على مستوى صفحات نتائج متعددة. يجب أن يكون الرقم موجبًا. قد يكون العدد الفعلي للأقسام التي تم عرضها أقل. على سبيل المثال، قد يتم ضبط ذلك على عدد أقل بمقدار واحد من عدد طلبات البحث المتوازية المراد تشغيلها، أو عند تشغيل مهمة مسار بيانات، أقل من عدد العاملين أو مثيلات الحوسبة المتاحة. |
page_token |
القيمة على سبيل المثال، قد يتم عرض طلبَين تاليَين يستخدمان page_token:
للحصول على مجموعة نتائج كاملة مرتبة حسب نتائج طلب البحث المقدمة إلى PartitionQuery، يجب دمج مجموعات النتائج: المؤشر A والمؤشر B والمؤشر M والمؤشر Q والمؤشر U والمؤشر W |
page_size |
الحد الأقصى لعدد الأقسام المطلوب عرضها في هذه المكالمة، ويخضع لـ على سبيل المثال، إذا كانت |
حقل الاتحاد query_type . الاستعلام المطلوب تقسيمه. يمكن أن يكون query_type واحدًا فقط مما يلي: |
|
structured_query |
طلب بحث منظم. يجب أن يحدّد طلب البحث مجموعة تضم كل العناصر التابعة وأن يتم ترتيبها تصاعديًا حسب الاسم. لا تتوفّر الفلاتر الأخرى، والترتيب حسب، والحدود، والإزاحة، ومؤشرات البداية/النهاية. |
حقل الاتحاد consistency_selector . وضع الاتساق لهذا الطلب. وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
read_time |
يقرأ المستندات كما هي في الوقت المحدد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
ردّ على طلب التقسيم
تمثّل هذه السمة الردّ على Firestore.PartitionQuery
.
الحقول | |
---|---|
partitions[] |
نتائج التقسيم كل قسم هو نقطة تقسيم يمكن استخدامها بواسطة RunQuery كنقطة بداية أو نهاية لنتائج الاستعلام. يجب إجراء طلبات RunQuery باستخدام طلب البحث نفسه المتوفّر في طلب PartitionQuery هذا. سيتم ترتيب مؤشرات أقسام التقسيم وفقًا للترتيب نفسه الخاص بنتائج طلب البحث المقدَّمة في PartitionQuery. على سبيل المثال، إذا عرض طلب PartitionQuery مؤشري القسمين A وB، فإن تشغيل الاستعلامات الثلاثة التالية سيُرجع مجموعة نتائج الاستعلام الأصلي بالكامل:
قد تشير النتيجة الفارغة إلى أنّ عدد النتائج قليل جدًا ولا يمكن تقسيمها في طلب البحث، أو أنّ عملية التقسيم غير متاحة بعد. |
next_page_token |
يشير هذا المصطلح إلى رمز مميّز للصفحة يمكن استخدامه لطلب مجموعة إضافية من النتائج، بما يصل إلى العدد المحدَّد من خلال |
ملخص الخطة
معلومات مرحلة التخطيط للاستعلام.
الحقول | |
---|---|
indexes_used[] |
الفهارس المحددة لطلب البحث. على سبيل المثال: [ {"query_scope": "Collection", "properties": "(foo ASC, name ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, name ASC)"} ] |
شرط مُسبَق
شرط مسبق على مستند، يستخدم للعمليات الشرطية.
الحقول | |
---|---|
حقل الاتحاد condition_type . تمثّل هذه السمة نوع الشرط المُسبَق. يمكن أن يكون condition_type واحدًا فقط مما يلي: |
|
exists |
عند ضبط هذه السياسة على |
update_time |
عند ضبط هذه السياسة، يجب أن يكون المستند المستهدَف متاحًا وأن يكون آخر تعديل له في ذلك الوقت. يجب محاذاة الطابع الزمني بالميكرو ثانية. |
طلب العودة إلى الحالة السابقة
طلب الحصول على Firestore.Rollback
الحقول | |
---|---|
database |
مطلوب. اسم قاعدة البيانات. بالتنسيق: |
transaction |
مطلوب. المعاملة المطلوب العودة إليها |
طلب RunAggregationQuery
طلب الحصول على Firestore.RunAggregationQuery
الحقول | |
---|---|
parent |
مطلوب. اسم المورد الرئيسي. بالتنسيق: |
explain_options |
هذه السمة اختيارية. شرح خيارات الاستعلام. وفي حال ضبطها، سيتم عرض إحصاءات إضافية لطلبات البحث. وإذا لم يكن الأمر كذلك، فسيتم عرض نتائج الاستعلام فقط. |
حقل الاتحاد query_type . الاستعلام المطلوب تنفيذه. يمكن أن يكون query_type واحدًا فقط مما يلي: |
|
structured_aggregation_query |
طلب تجميع. |
حقل الاتحاد consistency_selector . يتم ضبط وضع الاتساق لطلب البحث تلقائيًا على الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
transaction |
تنفيذ التجميع ضمن معاملة نشطة بالفعل. القيمة هنا هي معرّف المعاملة المبهم لتنفيذ الاستعلام فيه. |
new_transaction |
بدء معاملة جديدة كجزء من طلب البحث، مع ضبط الإعداد التلقائي على القراءة فقط. سيتم عرض معرِّف المعاملة الجديد كأول ردّ في مصدر البيانات. |
read_time |
لتنفيذ طلب البحث عند الطابع الزمني المحدّد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
RunAggregationQueryResponse
تمثّل هذه السمة الردّ على Firestore.RunAggregationQuery
.
الحقول | |
---|---|
result |
نتيجة تجميع واحدة. لا تتوفّر هذه الميزة عند الإبلاغ عن التقدّم الجزئي. |
transaction |
المعاملة التي بدأت كجزء من هذا الطلب. لا تظهر إلا في الاستجابة الأولى عندما يطلب الطلب بدء معاملة جديدة. |
read_time |
وقت حساب النتيجة المجمّعة. وهذا يتزايد دائمًا بصورة رتيبة؛ في هذه الحالة، نضمن عدم تغيير نتيجة التجميع السابقة في ساحة مشاركات النتائج بين إذا لم يعرض طلب البحث أي نتائج، سيتم إرسال ردّ بـ |
explain_metrics |
مقاييس شرح طلب البحث ولا تتوفّر هذه السمة إلا عند توفير |
RunQueryRequest
طلب الحصول على Firestore.RunQuery
الحقول | |
---|---|
parent |
مطلوب. اسم المورد الرئيسي. بالتنسيق: |
explain_options |
هذه السمة اختيارية. شرح خيارات الاستعلام. وفي حال ضبطها، سيتم عرض إحصاءات إضافية لطلبات البحث. وإذا لم يكن الأمر كذلك، فسيتم عرض نتائج الاستعلام فقط. |
حقل الاتحاد query_type . الاستعلام المطلوب تنفيذه. يمكن أن يكون query_type واحدًا فقط مما يلي: |
|
structured_query |
طلب بحث منظم. |
حقل الاتحاد consistency_selector . وضع الاتساق لهذه المعاملة وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
transaction |
نفِّذ الاستعلام ضمن معاملة نشطة بالفعل. القيمة هنا هي معرّف المعاملة المبهم لتنفيذ الاستعلام فيه. |
new_transaction |
يبدأ معاملة جديدة ويقرأ المستندات. يتم استخدام القيمة التلقائية لمعاملة القراءة فقط. سيتم عرض معرِّف المعاملة الجديد كأول ردّ في مصدر البيانات. |
read_time |
يقرأ المستندات كما هي في الوقت المحدد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
تنفيذ طلب الاستجابة
تمثّل هذه السمة الردّ على Firestore.RunQuery
.
الحقول | |
---|---|
transaction |
المعاملة التي بدأت كجزء من هذا الطلب. لا يمكن ضبط هذا الإعداد إلا في الرد الأول، وفي حال ضبط السمة |
document |
نتيجة طلب بحث، لم يتم ضبطها عند الإبلاغ عن التقدّم الجزئي. |
read_time |
تمثّل هذه السمة وقت قراءة المستند. وقد يكون هذا يزداد بصورة رتيبة؛ في هذه الحالة، نضمن عدم تغيير المستندات السابقة في تدفق النتائج بين إذا لم يعرض طلب البحث أي نتائج، سيتم إرسال ردّ بـ |
skipped_results |
عدد النتائج التي تم تخطّيها بسبب الفارق بين الردّ الأخير والاستجابة الحالية. |
explain_metrics |
مقاييس شرح طلب البحث ولا تتوفّر هذه السمة إلا عند توفير |
حقل الاتحاد continuation_selector . وضع المتابعة للاستعلام. في حال توفُّرها، يعني ذلك أنّ سلسلة الردود الحالية على طلب البحث قد انتهت. يمكن ضبط هذه السياسة مع توفُّر document أو بدونه، ولكن عند ضبطها، لن يتم عرض المزيد من النتائج. يمكن أن يكون continuation_selector واحدًا فقط مما يلي: |
|
done |
في حال توفّره، يعني ذلك أنّ Firestore قد أنهى الطلب بالكامل ولن يتم إرجاع المزيد من المستندات. |
طلب البحث عن التجميع المنظَّم
طلب بحث Firestore لتشغيل تجميع على StructuredQuery
الحقول | |
---|---|
aggregations[] |
هذه السمة اختيارية. سلسلة من التجميعات المطلوب تطبيقها على نتائج يتطلب:
|
حقل الاتحاد query_type . الاستعلام الأساسي المطلوب تجميعه. يمكن أن يكون query_type واحدًا فقط مما يلي: |
|
structured_query |
استعلام منظم متداخل. |
التجميع
تحدد هذه السمة تجميعًا ينتج عنه نتيجة واحدة.
الحقول | |
---|---|
alias |
هذه السمة اختيارية. اسم اختياري للحقل لتخزين نتيجة التجميع فيه. إذا لم يتم توفير الاسم، ستختار Firestore اسمًا تلقائيًا بالتنسيق
يصبح:
يتطلب:
|
حقل الاتحاد operator . تمثّل هذه السمة نوع التجميع المطلوب تنفيذه. يمكن أن يكون operator واحدًا فقط مما يلي: |
|
count |
عدد مجمّع السلع. |
sum |
مجمّع السلع. |
avg |
متوسط مجمّع السلع. |
Avg
متوسط قيم الحقل المطلوب.
سيتم تجميع القيم الرقمية فقط. يتم تخطّي جميع القيم غير الرقمية بما في ذلك
NULL
.وإذا كانت القيم المجمّعة تحتوي على
NaN
، يتم عرضNaN
. تتبع الرياضيات اللانهائية معايير IEEE-754.إذا كانت مجموعة القيم المجمّعة فارغة، يتم عرض
NULL
.يتم دائمًا عرض النتيجة على شكل مزدوج.
الحقول | |
---|---|
field |
الحقل المطلوب تجميعه. |
الإحصاء
عدد المستندات التي تطابق طلب البحث.
تعمل دالة التجميع COUNT(*)
على المستند بأكمله، لذلك لا تتطلب مرجعًا للحقل.
الحقول | |
---|---|
up_to |
هذه السمة اختيارية. قيد اختياري على الحد الأقصى لعدد المستندات المطلوب احتسابها. يوفر ذلك طريقة لتعيين حد أقصى لعدد المستندات المطلوب مسحها ضوئيًا، والحد من وقت الاستجابة والتكلفة. ويتم تفسير القيمة "غير محدّد" على أنّها غير مشروطة. مثال على المستوى العالي:
يتطلب:
|
المجموع
مجموع قيم الحقل المطلوب.
سيتم تجميع القيم الرقمية فقط. يتم تخطّي جميع القيم غير الرقمية بما في ذلك
NULL
.وإذا كانت القيم المجمّعة تحتوي على
NaN
، يتم عرضNaN
. تتبع الرياضيات اللانهائية معايير IEEE-754.إذا كانت مجموعة القيم المجمّعة فارغة، يتم عرض 0.
لعرض عدد صحيح 64 بت إذا كانت جميع الأرقام المجمّعة أعداد صحيحة ولم تتجاوز نتيجة المجموع. بخلاف ذلك، يتم عرض النتيجة على هيئة مضاعفة. تجدر الإشارة إلى أنّه حتى إذا كانت جميع القيم المجمّعة أعداد صحيحة، يتم عرض النتيجة كقيمة مزدوجة إذا لم تكن متوافقة مع عدد صحيح بعلامة 64 بت. وعند حدوث ذلك، ستفقد القيمة المعروضة الدقة.
عند حدوث تدفّق منخفض، يكون تجميع النقاط العائمة غير محدَّد. هذا يعني أن تشغيل نفس الاستعلام بشكل متكرر بدون أي تغييرات على القيم الأساسية يمكن أن يؤدي إلى نتائج مختلفة قليلاً في كل مرة. في هذه الحالات، يجب تخزين القيم كأعداد صحيحة بدلاً من أرقام النقطة العائمة.
الحقول | |
---|---|
field |
الحقل المطلوب تجميعه. |
طلب البحث المنظَّم
استعلام Firestore.
يتم تنفيذ مراحل الاستعلام بالترتيب التالي: 1. من 2. حيث 3. حدد 4. order_by + start_at + end_at 5. الإزاحة 6. الحد
الحقول | |
---|---|
select |
مجموعة فرعية اختيارية من الحقول المطلوب عرضها. يعمل هذا الإجراء كـ |
from[] |
المجموعات المطلوب الاستعلام عنها. |
where |
الفلتر المطلوب تطبيقه. |
order_by[] |
الترتيب الذي سيتم تطبيقه على نتائج الاستعلام. يتيح Firestore للمتصلين تقديم طلب كامل أو طلب جزئي أو عدم تقديم أي طلب على الإطلاق. في جميع الحالات، تضمن Firestore ترتيبًا ثابتًا من خلال القواعد التالية:
يتم إلحاق الحقول باتجاه الترتيب نفسه كآخر ترتيب محدّد، أو باستخدام "ASCENDING". إذا لم يتم تحديد أي طلب. على سبيل المثال:
|
start_at |
بادئة محتملة لموضع في مجموعة النتائج لبدء طلب البحث عند. ويعتمد ترتيب مجموعة النتائج على عبارة
يتم ترتيب نتائج هذا الطلب حسب يمكن أن تشير المؤشرات إلى الترتيب الكامل أو بادئة الموقع الجغرافي، على الرغم من أنّه لا يمكن أن تشير إلى حقول أكثر من تلك المتوفّرة في سمة متابعة للمثال أعلاه، سيكون لإرفاق مؤشرات البدء التالية تأثير متفاوت:
على عكس يتطلب:
|
end_at |
بادئة محتملة لموضع في مجموعة النتيجة لإنهاء طلب البحث عند. يشبه هذا الإجراء يتطلب:
|
offset |
عدد المستندات المطلوب تخطيها قبل عرض النتيجة الأولى. ينطبق ذلك بعد القيود المحدّدة في يتطلب:
|
limit |
الحد الأقصى لعدد النتائج المطلوب عرضها. يُطبق بعد كل القيود الأخرى. يتطلب:
|
find_nearest |
هذه السمة اختيارية. عملية بحث محتملة من الجيران الأقرب. ينطبق ذلك بعد كل الفلاتر الأخرى والترتيب. لإيجاد أقرب تضمينات المتجهة لمتجه الاستعلام المحدد. |
أداة اختيار المجموعة
مجموعة مختارات، مثل messages as m1
.
الحقول | |
---|---|
collection_id |
معرّف المجموعة. وعند ضبط هذه السياسة، يتم فقط اختيار المجموعات التي تحمل هذا المعرّف. |
all_descendants |
وعند ضبط هذه السياسة على "خطأ"، يتم فقط اختيار المجموعات الثانوية المباشرة للسمة |
الفلتر المركّب
فلتر يدمج فلاتر أخرى متعددة باستخدام عامل التشغيل المحدد.
الحقول | |
---|---|
op |
عامل دمج عوامل تصفية متعددة. |
filters[] |
قائمة الفلاتر المطلوب دمجها يتطلب:
|
المؤثِّر
عامل تصفية مركب
تعدادات | |
---|---|
OPERATOR_UNSPECIFIED |
غير محدَّد يجب عدم استخدام هذه القيمة. |
AND |
يجب إدخال المستندات لاستيفاء جميع الفلاتر المدمجة. |
OR |
يجب أن تستوفي المستندات فلترًا واحدًا على الأقل من الفلاتر المدمجة. |
الاتجاه
اتجاه الفرز.
تعدادات | |
---|---|
DIRECTION_UNSPECIFIED |
غير محدَّد |
ASCENDING |
تصاعدي. |
DESCENDING |
تنازلي. |
فلتر الحقل
فلتر على حقل معيّن
الحقول | |
---|---|
field |
الحقل الذي تريد الفلترة حسبه. |
op |
العامل المطلوب الفلترة حسبه. |
value |
القيمة المطلوب المقارنة بها. |
المؤثِّر
عامل تصفية الحقل
تعدادات | |
---|---|
OPERATOR_UNSPECIFIED |
غير محدَّد يجب عدم استخدام هذه القيمة. |
LESS_THAN |
قيمة يتطلب:
|
LESS_THAN_OR_EQUAL |
قيمة يتطلب:
|
GREATER_THAN |
قيمة يتطلب:
|
GREATER_THAN_OR_EQUAL |
قيمة يتطلب:
|
EQUAL |
تساوي قيمة field المحدّدة قيمة value المحدّدة. |
NOT_EQUAL |
لا تساوي قيمة يتطلب:
|
ARRAY_CONTAINS |
field المحدّد هو مصفوفة تحتوي على السمة value المحددة. |
IN |
تساوي قيمة يتطلب:
|
ARRAY_CONTAINS_ANY |
يتطلب:
|
NOT_IN |
ليست قيمة يتطلب:
|
مرجع حقل
مرجع إلى حقل في مستند، مثل: stats.operations
.
الحقول | |
---|---|
field_path |
مرجع إلى حقل في مستند. يتطلب:
|
فلتر
فلتر
الحقول | |
---|---|
حقل الاتحاد filter_type . نوع الفلتر يمكن أن يكون filter_type واحدًا فقط مما يلي: |
|
composite_filter |
عامل تصفية مُركّب |
field_filter |
فلتر على حقل مستند. |
unary_filter |
فلتر يأخذ وسيطة واحدة بالضبط. |
البحث الأقرب
إعداد بحث الجيران الأقرب.
الحقول | |
---|---|
vector_field |
مطلوب. حقل متّجه مفهرس للبحث عنه يمكن فقط عرض المستندات التي تحتوي على متجهات تتطابق أبعادها مع query_ect. |
query_vector |
مطلوب. متجه الاستعلام الذي نبحث عنه. يجب ألا يزيد طول الخط المتجه عن 2048. |
distance_measure |
مطلوب. قياس المسافة المطلوب استخدامه، مطلوب. |
limit |
مطلوب. عدد الجيران الأقرب المُراد إرجاعه. يجب أن يكون عددًا صحيحًا موجبًا لا يزيد عن 1000. |
قياس المسافة
قياس المسافة المستخدم عند المقارنة بين المتجهات.
تعدادات | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
يجب عدم ضبطها. |
EUCLIDEAN |
تقيس مسافة EUCLIDEAN بين المتجهات. راجِع الإقليدية لمزيد من المعلومات |
COSINE |
تقارن المتجهات بناءً على الزاوية بينها، مما يسمح لك بقياس التشابه الذي لا يعتمد على حجم المتجهات. نوصي باستخدام DOT_PRODUCT مع وحدة متجهات تمت تسويتها بدلاً من مسافة COSINE، والتي تكون مكافئة رياضيًا بأداء أفضل. راجِع مقالة تشابه جيب التمام لمزيد من المعلومات. |
DOT_PRODUCT |
يشبه جيب التمام ولكنه يتأثر بحجم المتجهات. راجِع Dot Product لمزيد من المعلومات. |
طلب
طلب في حقل
الحقول | |
---|---|
field |
الحقل المطلوب الترتيب حسبه. |
direction |
الاتجاه الذي يجب الطلب وفقًا له. وتكون القيمة التلقائية هي |
توقّعات الميزانية
إسقاط حقول المستند المطلوب عرضها.
الحقول | |
---|---|
fields[] |
الحقول المطلوب عرضها. إذا كانت فارغة، سيتم عرض جميع الحقول. لعرض اسم المستند فقط، استخدِم |
فلتر UnaryFilter
فلتر بمعامل واحد.
الحقول | |
---|---|
op |
عامل التشغيل الأحادي المطلوب تطبيقه. |
حقل الاتحاد operand_type . وسيطة الفلتر. يمكن أن يكون operand_type واحدًا فقط مما يلي: |
|
field |
الحقل الذي تريد تطبيق عامل التشغيل عليه. |
المؤثِّر
عامل تشغيل أحادي.
تعدادات | |
---|---|
OPERATOR_UNSPECIFIED |
غير محدَّد يجب عدم استخدام هذه القيمة. |
IS_NAN |
تساوي قيمة field المحدّدة NaN . |
IS_NULL |
تساوي قيمة field المحدّدة NULL . |
IS_NOT_NAN |
لا تساوي قيمة يتطلب:
|
IS_NOT_NULL |
لا تساوي قيمة يتطلب:
|
الهدف
يشير ذلك المصطلح إلى مواصفات مجموعة من المستندات التي يجب الاستماع إليها.
الحقول | |
---|---|
target_id |
رقم تعريف الهدف الذي يحدّد الهدف في البث يجب أن تكون القيمة عددًا موجبًا وغير صفري. إذا كانت قيمة يُرجى العلم أنّه إذا أرسل العميل طلبات " إذا لم تكن قيمة |
once |
ما إذا كان يجب إزالة الاستهداف بعد أن يصبح ساريًا ومتسقًا |
expected_count |
عدد المستندات التي تطابقت مع الاستعلام آخر مرة في الرمز المميز للسيرة الذاتية أو وقت القراءة. تكون هذه القيمة ذات صلة فقط عند توفير |
حقل الاتحاد target_type . نوع الهدف المطلوب الاستماع إليه. يمكن أن يكون target_type واحدًا فقط مما يلي: |
|
query |
هدف محدّد بواسطة طلب بحث. |
documents |
هدف يتم تحديده من خلال مجموعة من أسماء المستندات. |
حقل الاتحاد في حال تحديد ما سبق، لن يتم عرض سوى المستندات المطابقة التي تم تعديلها بعد |
|
resume_token |
رمز مميّز لاستئناف العمل من لا يمكن استخدام رمز مميّز خاص بالسيرة الذاتية مع هدف مختلف، وقد يتعذّر استخدامها. |
read_time |
يمكنك بدء الاستماع بعد يجب أن يعرف العميل حالة المستندات المطابقة في الوقت الحالي. |
هدف المستندات
هدف يتم تحديده من خلال مجموعة من أسماء المستندات.
الحقول | |
---|---|
documents[] |
أسماء المستندات المطلوب استردادها بالتنسيق: |
استهداف طلبات البحث
هدف محدّد بواسطة طلب بحث.
الحقول | |
---|---|
parent |
اسم المورد الرئيسي. بالتنسيق: |
حقل الاتحاد query_type . الاستعلام المطلوب تنفيذه. يمكن أن يكون query_type واحدًا فقط مما يلي: |
|
structured_query |
طلب بحث منظم. |
تغيير الاستهداف
تغيّرت الأهداف التي تتم مشاهدتها.
الحقول | |
---|---|
target_change_type |
نوع التغيير الذي حدث. |
target_ids[] |
أرقام التعريف المستهدَفة للأهداف التي تغيّرت. وإذا كانت فارغة، فسينطبق التغيير على جميع الاستهدافات. لم يتم تحديد ترتيب أرقام تعريف الاستهداف. |
cause |
تمثّل هذه السمة الخطأ الذي أدّى إلى هذا التغيير، إذا كان ذلك منطبقًا. |
resume_token |
هو رمز مميّز يمكن استخدامه لاستئناف البث في نطاق لا يتم ضبطه عند كل تغيير مستهدَف. |
read_time |
تمثّل هذه السمة نضمن لك أن يتم إرسال حقل " بالنسبة إلى مصدر بيانات معيّن، نضمن أن يزداد عنصر |
نوع التغيير المستهدف
نوع التغيير.
تعدادات | |
---|---|
NO_CHANGE |
لم يحدث أي تغيير. لا يُستخدم سوى لإرسال resume_token معدَّل. |
ADD |
تمت إضافة الاستهدافات. |
REMOVE |
تمت إزالة الاستهدافات. |
CURRENT |
تعكس الأهداف جميع التغييرات التي تم إجراؤها قبل إضافة الأهداف إلى ساحة المشاركات. سيتم إرسال هذه القيمة بعد أو مع ويمكن للمستمعين انتظار هذا التغيير إذا كانت الدلالة الدلالية للقراءة بعد الكتابة مطلوبة. |
RESET |
تمّت إعادة ضبط الاستهدافات، وسيتم عرض حالة أولية جديدة للأهداف في التغييرات اللاحقة. بعد اكتمال الحالة الأولية، سيتم عرض |
خيارات المعاملات
خيارات إنشاء معاملة جديدة.
الحقول | |
---|---|
حقل الاتحاد mode . وضع المعاملة يمكن أن يكون mode واحدًا فقط مما يلي: |
|
read_only |
يمكن استخدام المعاملة لإجراء عمليات القراءة فقط. |
read_write |
ويمكن استخدام المعاملة في عمليتَي القراءة والكتابة على حدّ سواء. |
قراءة فقط
خيارات معاملة يمكن استخدامها لقراءة المستندات فقط.
الحقول | |
---|---|
حقل الاتحاد consistency_selector . وضع الاتساق لهذه المعاملة وفي حال تم ترك السياسة بدون ضبط، سيتم تطبيق القيمة التلقائية على مستوى الاتساق القوي. يمكن أن يكون consistency_selector واحدًا فقط مما يلي: |
|
read_time |
يقرأ المستندات في الوقت المحدد. ويجب أن يكون هذا الطابع الزمني للدقة بالميكرو ثانية خلال الساعة الماضية، أو إذا كانت ميزة "الاسترداد في نقطة زمنية" مفعَّلة، يمكن أن يكون أيضًا طابعًا زمنيًا لدقيقة كاملة خلال آخر 7 أيام. |
ReadWrite
خيارات المعاملة التي يمكن استخدامها لقراءة المستندات وكتابتها.
لا تسمح Firestore بطلبات المصادقة من جهات خارجية بإنشاء القراءة والكتابة. المعاملات.
الحقول | |
---|---|
retry_transaction |
معاملة اختيارية لإعادة المحاولة. |
طلب تحديث مستند
طلب الحصول على Firestore.UpdateDocument
الحقول | |
---|---|
document |
مطلوب. المستند الذي تم تعديله يتم إنشاء المستند إذا لم يكن موجودًا من قبل. |
update_mask |
الحقول المطلوب تعديلها. لا يجوز أن يحتوي أي من مسارات الحقول في القناع على اسم محجوز. إذا كان المستند موجودًا على الخادم ويحتوي على حقول لم تتم الإشارة إليها في القناع، يتم تركها بدون تغيير. يتم حذف الحقول المُشار إليها في القناع، ولكن غير المتوفّرة في مستند الإدخال، من المستند على الخادم. |
mask |
الحقول المطلوب عرضها. وفي حال تم تركها بدون ضبط، سيتم عرض جميع الحقول. إذا كان المستند يحتوي على حقل غير موجود في هذا القناع، لن يتم عرض هذا الحقل في الرد. |
current_document |
شرط مُسبَق اختياري في المستند. سيتعذّر الطلب إذا تم ضبط ذلك ولم يتم استيفاؤه من خلال المستند المستهدف. |
القيمة
رسالة يمكن أن تحتوي على أي من أنواع القيم المسموح بها
الحقول | |
---|---|
حقل الاتحاد value_type . يجب تحديد قيمة. يمكن أن يكون value_type واحدًا فقط مما يلي: |
|
null_value |
قيمة فارغة. |
boolean_value |
قيمة منطقية. |
integer_value |
قيمة عدد صحيح. |
double_value |
قيمة مزدوجة. |
timestamp_value |
قيمة طابع زمني. الضبط بدقة تصل إلى ميكرو ثانية فقط. وعند تخزينها، يتم تقريب أي دقة إضافية إلى قيمة أقل. |
string_value |
قيمة سلسلة. يجب ألا تتجاوز السلسلة، الممثلة بترميز UTF-8، بين 1 مبيبايت و89 بايت. تنظر طلبات البحث فقط في أول 1,500 بايت من تمثيل UTF-8. |
bytes_value |
قيمة بايت. يجب ألا تتجاوز 1 مبيبايت إلى 89 بايت. تأخذ طلبات البحث أول 1,500 بايت فقط في الاعتبار. |
reference_value |
مرجع لمستند مثلاً: |
geo_point_value |
يشير ذلك المصطلح إلى قيمة نقطة جغرافية تمثّل نقطة على سطح الأرض. |
array_value |
قيمة مصفوفة. لا يمكن أن يحتوي على قيمة صفيف أخرى مباشرةً، ولكن يمكن أن يحتوي على خريطة تحتوي على صفيف آخر. |
map_value |
قيمة الخريطة. |
كتابة
كتابة على مستند ما.
الحقول | |
---|---|
update_mask |
الحقول المطلوب تعديلها في هذه الكتابة. لا يمكن ضبط هذا الحقل إلا عندما تكون العملية |
update_transforms[] |
تمثّل هذه السمة عمليات التحويل التي سيتم إجراؤها بعد التحديث. لا يمكن ضبط هذا الحقل إلا عندما تكون العملية |
current_document |
شرط مُسبَق اختياري في المستند. ستفشل الكتابة إذا تم ضبط ذلك ولم يتم الوفاء به من خلال المستند الهدف. |
حقل الاتحاد operation . العملية المطلوب تنفيذها. يمكن أن يكون operation واحدًا فقط مما يلي: |
|
update |
مستند للكتابة |
delete |
اسم المستند المطلوب حذفه بالتنسيق: |
transform |
تطبيق عملية تحويل على مستند |
كتابة طلب
طلب الحصول على Firestore.Write
ينشئ الطلب الأول مجموعة بث أو يستأنف بثًا حاليًا من رمز مميّز.
عند إنشاء بث جديد، يردّ الخادم بردّ يحتوي على معرّف ورمز مميّز فقط، وذلك لاستخدامهما في الطلب التالي.
عند استئناف البث، يبث الخادم أولاً أي ردود بعد الرمز المميّز المحدّد، ثم يبثّ ردّ تحتوي على رمز مميّز حديث فقط لاستخدامها في الطلب التالي.
الحقول | |
---|---|
database |
مطلوب. اسم قاعدة البيانات. بالتنسيق: |
stream_id |
رقم تعريف ساحة المشاركات للكتابة المطلوب استئنافها يمكن ضبط هذا الإعداد في الرسالة الأولى فقط. عند ترك هذا الحقل فارغًا، سيتم إنشاء ساحة مشاركات جديدة للكتابة. |
writes[] |
العبارات التي سيتم تطبيقها. يتم تنفيذها دائمًا بشكل كامل وبالترتيب. يجب أن يكون هذا الحقل فارغًا في الطلب الأول. وقد يكون هذا الحقل فارغًا في الطلب الأخير. ويجب ألا يكون هذا الحقل فارغًا في جميع الطلبات الأخرى. |
stream_token |
رمز مميّز للبث أرسله الخادم في السابق. يجب أن يضبط العميل هذا الحقل على الرمز المميّز من آخر وقد يغلق الخادم ساحة المشاركات في حال وجود عدد كبير جدًا من الردود التي لم يتم قبولها. يُرجى إبقاء هذا الحقل بدون ضبط عند إنشاء بث جديد. لاستئناف بث عند وقت محدّد، يجب ضبط هذا الحقل والحقل يُرجى إبقاء هذا الحقل بدون ضبط عند إنشاء بث جديد. |
labels |
التصنيفات المرتبطة بطلب الكتابة هذا |
كتابة الرد
تمثّل هذه السمة الردّ على Firestore.Write
.
الحقول | |
---|---|
stream_id |
رقم تعريف مصدر البيانات. يتم ضبط الإعداد على الرسالة الأولى فقط عند إنشاء بث جديد. |
stream_token |
هو رمز مميّز يمثّل موضع هذه الاستجابة في ساحة المشاركات. ويمكن أن يستخدم العميل هذا الإجراء لاستئناف البث عند هذه المرحلة. يتم ضبط هذا الحقل دائمًا. |
write_results[] |
هي نتيجة تطبيق عمليات الكتابة. تتوافق نتيجة i-th write هذه مع الكتابة i-th في الطلب. |
commit_time |
وقت حدوث الالتزام. يمكن ضمان ظهور تأثيرات الكتابة عند قراءة أي قراءة تساوي |
كتابة النتيجة
هي نتيجة تطبيق الكتابة.
الحقول | |
---|---|
update_time |
تمثّل هذه السمة وقت آخر تحديث للمستند بعد تطبيق عملية الكتابة. لم يتم ضبط السياسة بعد إذا لم تكن الكتابة تغير المستند فعليًا، فسيكون هذا هو update_time السابق. |
transform_results[] |
تمثّل هذه السمة نتائج تطبيق كل |