استعلام عن Firestore.
يتم تنفيذ مراحل الاستعلام بالترتيب التالي: 1. من 2. حيث 3. حدد 4. orderBy + startAt + endAt 5. إزاحة 6. الحد
تمثيل JSON |
---|
{ "select": { object ( |
الحقول | |
---|---|
select |
مجموعة فرعية اختيارية من الحقول المطلوب عرضها. ويكون هذا الإجراء بمثابة |
from[] |
المجموعات المطلوب البحث عنها. |
where |
الفلتر المطلوب تطبيقه. |
orderBy[] |
الترتيب الذي سيتم تطبيقه على نتائج الاستعلام. تسمح Firestore للمتصلين بتقديم طلب كامل أو طلب جزئي أو عدم تقديم أي طلب على الإطلاق. في جميع الحالات، تضمن Firestore ترتيبًا مستقرًا من خلال القواعد التالية:
يتم إلحاق الحقول بنفس اتجاه الترتيب المستخدَم في الترتيب الأخير المحدَّد، أو بالحقل "ASCENDING" إذا لم يتم تحديد ترتيب. مثال:
|
startAt |
بادئة محتملة لموضع معين في مجموعة النتائج لبدء طلب البحث. يستند ترتيب مجموعة النتائج إلى عبارة
تم ترتيب نتائج طلب البحث هذا حسب ويمكن أن تشير المؤشرات إلى الترتيب الكامل أو بادئة الموقع الجغرافي، ولكنّها لا يمكن أن تشير إلى حقول أكثر من الحقول المتوفّرة في استمرارًا للمثال أعلاه، سيكون لإرفاق مؤشرات البدء التالية تأثير متفاوت:
على عكس المتطلبات:
|
endAt |
بادئة محتملة لموضع معين في النتيجة التي يتم تعيينها لإنهاء طلب البحث في. يشبه هذا العمود المتطلبات:
|
offset |
عدد المستندات المطلوب تخطيها قبل عرض النتيجة الأولى. ينطبق ذلك بعد القيود المحدَّدة في المتطلبات:
|
limit |
تمثّل هذه السمة الحد الأقصى لعدد النتائج المطلوب عرضها. ينطبق هذا الإعداد بعد جميع القيود الأخرى. المتطلبات:
|
findNearest |
اختياريّ. بحث محتمل عن الجيران الأقرب. ينطبق بعد جميع الفلاتر والطلبات الأخرى. للعثور على أقرب تضمينات متجهة لمتجه الاستعلام المحدد. |
الإسقاط
إسقاط حقول المستند للرجوع إليها
تمثيل JSON |
---|
{
"fields": [
{
object ( |
الحقول | |
---|---|
fields[] |
الحقول المطلوب عرضها. إذا كانت فارغة، يتم عرض جميع الحقول. لعرض اسم المستند فقط، استخدِم " |
CollectionSelector
مجموعة من المختارات، مثل messages as m1
.
تمثيل JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
الحقول | |
---|---|
collectionId |
معرِّف المجموعة. عند ضبط السياسة، يتم اختيار المجموعات التي تحمل هذا المعرّف فقط. |
allDescendants |
عند اختيار قيمة "خطأ"، تختار فقط المجموعات التي تشكّل عناصر فرعية مباشرة لـ |
تصفية
عامل التصفية.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الاتحاد filter_type نوع الفلتر. يمكن أن يكون الحقل "filter_type " واحدًا فقط مما يلي: |
|
compositeFilter |
عامل تصفية مركب. |
fieldFilter |
عامل تصفية في حقل مستند. |
unaryFilter |
يشير ذلك المصطلح إلى فلتر يستخدم وسيطة واحدة فقط. |
CompositeFilter
فلتر يدمج عدة فلاتر أخرى باستخدام عامل تشغيل معين.
تمثيل JSON |
---|
{ "op": enum ( |
الحقول | |
---|---|
op |
العامل للجمع بين فلاتر متعددة. |
filters[] |
قائمة الفلاتر المطلوب دمجها. المتطلبات:
|
مُشغِّل
عامل تشغيل عامل تصفية مركب.
عمليات التعداد | |
---|---|
OPERATOR_UNSPECIFIED |
غير محدد يجب عدم استخدام هذه القيمة. |
AND |
يجب توفير المستندات لاستيفاء جميع الفلاتر المجمّعة. |
OR |
يجب أن تستوفي المستندات فلترًا واحدًا على الأقل من الفلاتر المجمّعة. |
FieldFilter
فلتر على حقل معين.
تمثيل JSON |
---|
{ "field": { object ( |
الحقول | |
---|---|
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 |
قيمة المتطلبات:
|
UnaryFilter
فلتر يحتوي على معامل واحد.
تمثيل JSON |
---|
{ "op": enum ( |
الحقول | |
---|---|
op |
عامل التشغيل الأحادي المطلوب تطبيقه. |
حقل الاتحاد operand_type الوسيطة إلى عامل التصفية. يمكن أن يكون الحقل "operand_type " واحدًا فقط مما يلي: |
|
field |
الحقل الذي سيتم تطبيق عامل التشغيل عليه. |
مُشغِّل
عامل تشغيل أحادي.
عمليات التعداد | |
---|---|
OPERATOR_UNSPECIFIED |
غير محدد يجب عدم استخدام هذه القيمة. |
IS_NAN |
قيمة field المحدّدة تساوي NaN . |
IS_NULL |
قيمة field المحدّدة تساوي NULL . |
IS_NOT_NAN |
قيمة المتطلبات:
|
IS_NOT_NULL |
قيمة المتطلبات:
|
طلب
طلب في حقل.
تمثيل JSON |
---|
{ "field": { object ( |
الحقول | |
---|---|
field |
الحقل المطلوب الترتيب وفقًا له. |
direction |
تمثّل هذه السمة اتجاه الطلب. وتكون الإعدادات التلقائية |
توجيه المشاهدين لاتخاذ إجراء
اتجاه الترتيب.
عمليات التعداد | |
---|---|
DIRECTION_UNSPECIFIED |
غير محدد |
ASCENDING |
تصاعدي. |
DESCENDING |
تنازلي. |
FindNearest
إعداد البحث عن الجيران الأقرب.
تمثيل JSON |
---|
{ "vectorField": { object ( |
الحقول | |
---|---|
vectorField |
مطلوبة. حقل متجه مفهرس للبحث عنه يمكن فقط عرض المستندات التي تحتوي على متجهات تطابق أبعادها مع queryVector. |
queryVector |
مطلوبة. متجه الاستعلام الذي نبحث عنه. يجب ألا يزيد حجم الخط المتجه عن 2048. |
distanceMeasure |
مطلوبة. يجب توفير مقياس المسافة المطلوب استخدامه. |
limit |
مطلوبة. عدد الجيران الأقرب المراد إرجاعهم. يجب أن يكون عددًا صحيحًا موجبًا لا يزيد عن 1000. |
DistanceMeasure
يشير ذلك المصطلح إلى مقياس المسافة المطلوب استخدامه عند مقارنة المتجهات.
عمليات التعداد | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
يجب عدم ضبطها. |
EUCLIDEAN |
تقيس مسافة EUCLIDEAN بين المتجهات. يمكنك الاطّلاع على الإقليدية لمعرفة المزيد. |
COSINE |
تقارن المتجهات بناءً على الزاوية بينها، مما يسمح لك بقياس التشابه الذي لا يعتمد على مقدار المتجهات. نوصي باستخدام DOT_PRODUCT مع وحدة المتجهات التي تمت تسويتها بدلا من مسافة COSINE، وهي مكافئة رياضيًا مع أداء أفضل. راجِع تشابه جيب التمام لمعرفة المزيد من المعلومات. |
DOT_PRODUCT |
تشبه جيب التمام، ولكنها تتأثر بحجم المتجهات. راجِع المنتج النقطي للاطّلاع على مزيد من المعلومات. |