معلمات الاستعلام
تدعم كل نقطة نهاية API هذه الخيارات باستخدام معلمات استعلام URL:
الاستعلام | الافتراضي | مثال | الوصف |
|---|---|---|---|
نص |
| يبحث عن المحتوى ويصفيه استنادًا إلى النص المحدد | |
الحد | 10 |
| يحدّد الحد الأقصى لإجمالي عدد العناصر التي يمكن استردادها من نقطة النهاية. القيمة القصوى هي 20. |
الإزاحة | 0 |
| يضبط إزاحة العناصر المعادة |
orderBy | createdAt |
| يمكنك ترتيب الكيانات باختيار حقل في النموذج للترتيب بحسبه |
التصفية |
| يمكن إنشاء عوامل تصفية ودمجها لتضييق نطاق المحتوى المستلَم. | |
الحقول |
| يتطلب Ideanote من مستخدم API تحديد قائمة مفصولة بفواصل بالحقول المطلوب إرجاعها. ويُجرى ذلك لضمان الأداء وإتاحة تعبئة الكيانات المتداخلة. |
الحقول
يتطلب Ideanote من مستخدم API تحديد قائمة مفصولة بفواصل بالحقول المطلوب إرجاعها. ويُجرى ذلك لضمان الأداء وإتاحة تعبئة الكيانات المتداخلة.
تعبئة الحقول المباشرة
?fields=id,title,question بنية JSON التالية:{
"id": "abc",
"title": "Title",
"question": "Question"
}يمكن تعبئة الحقول مباشرةً في الكيان (انظر المثال).
يمكنك الاطلاع على نظرة عامة بالحقول التي يمكنك تعبئتها لكل كيان. على سبيل المثال، يمكنك العثور على جميع الحقول في الكيان Mission هنا
تعبئة الحقول المتداخلة (صيغة النقطة)
?fields=id,title,cover.kind,cover.url.original سيُرجع بنية JSON التالية:{
"id": "abc",
"title": "Title",
"cover": {
"kind": "IMAGE",
"url": {
"original": "https://...."
}
}
}يمكن تعبئة الحقول المتداخلة باستخدام صيغة النقطة، مثل cover.url.original (راجع المثال).
تعبئة عدة حقول متداخلة (صيغة الأقواس المعقوفة)
?fields=id,title,cover.{url.original,kind,fileName} سيُرجع بنية JSON التالية:{
"id": "abc",
"title": "Title",
"cover": {
"kind": "IMAGE",
"fileName": "my-file.jpg",
"url": {
"original": "https://...."
}
}
}لتسهيل تعبئة عدة حقول في الكيانات المتداخلة، يمكن إجراء التعبئة بدمج عدة حقول متداخلة، مثل cover.{url.original, kind, fileName} (راجع المثال).
الترتيب
يمكنك ترتيب الكيانات باختيار حقل في النموذج للترتيب حسبه
الترتيب حسب خاصية بترتيب تصاعدي ضمني
?orderBy=firstName سيُرجع بنية JSON التالية:[{ "firstName": "A" }, { "firstName": "B" }, { "firstName": "C" }]يمكن الترتيب حسب أي خاصية من خصائص نموذج، مثل createdAt، title، id، وما إلى ذلك، وذلك ببساطة من خلال تمرير اسم تلك الخاصية إلى معلمة الاستعلام orderBy. سيؤدي ذلك إلى ترتيب السجلات بترتيب ascending (انظر المثال)
الترتيب حسب الخاصية بترتيب تصاعدي صريح
?orderBy={"key": "firstName", "direction": "DESC"} سيُرجع بنية JSON التالية:[{ "firstName": "C" }, { "firstName": "B" }, { "firstName": "A" }]يمنحك تقديم بنية JSON تتضمن الخاصية key والخاصية direction مثل {"key": "createdAt", "direction": "DESC"} أقصى درجات التحكم في الترتيب.
- key: الخاصية المطلوب الترتيب حسبها. أمثلة:
createdAt،title،id. - direction: ترتيب فرز الإدخالات. يمكن أن يكون:
DESC: ستُرتَّب الإدخالات بترتيب تنازلي.ASC: ستُرتَّب الإدخالات بترتيب تصاعدي.
عوامل التصفية
يمكن إنشاء عوامل التصفية ودمجها لتضييق نطاق المحتوى المستلَم.
التصفية البسيطة باستخدام عامل EQUALS ضمنيًا
سيحدد عامل التصفية التالي الكيانات التي تطابق فيها خاصية العنوان القيمة "How might we improve our products" تطابقًا تامًا:
?filter={"title":"How might we improve our products"}
التصفية البسيطة باستخدام عامل صريح
سيحدد عامل التصفية التالي الكيانات التي تحتوي فيها خاصية العنوان على السلسلة الفرعية "How might we".
?filter={"title":{"op": "INCLUDES", "value": "How might we"}}
فيما يلي قائمة بجميع العوامل المتاحة:
العامل | الوصف | مثال |
|---|---|---|
يساوي | يتحقق من وجود تطابق تام |
|
NOT_EQUALS | نفي عامل EQUALS | راجع EQUALS للاطلاع على مثال مشابه. |
ضمن | يتحقق مما إذا كانت الخاصية تساوي أيًا من القيم المحددة |
|
IS_NULL | يتحقق من وجود قيمة قابلة لأن تكون فارغة |
|
IS_NOT_NULL | نفي عامل التشغيل IS_NULL | راجع IS_NULL للاطلاع على مثال مماثل. |
INCLUDES | يتحقق مما إذا كانت الخاصية تتضمن القيمة المقدمة |
|
NOT_INCLUDES | نفي عامل التشغيل INCLUDES | راجع INCLUDES للاطلاع على مثال مماثل. |
INCLUDES_ELEMENT | يتحقق مما إذا كانت خاصية JSON (مثل المصفوفة) تتضمن القيمة المقدمة |
|
NOT_INCLUDES_ELEMENT | نفي العامل INCLUDES_ELEMENT | راجع INCLUDES_ELEMENT للاطلاع على مثال مماثل. |
أقل من | تُجري جميع هذه العناصر مقارنةً بالقيمة الحالية (عادةً ما تكون ISODate أو رقمًا). |
|
التصفية حسب المجموعات
يحدّد عامل التصفية التالي الكيانات التي أُنشئت بعد 2020-01-01 OR والكيانات التي تكون فيها الخاصية id إما "6b8e6531-cf07-4d1f-be39-68ea22d88c0e" أو "99e5d8b8-c477-4ce9-812e-9822d18adb99"، وذلك بدمج عاملي تصفية يفصل بينهما عامل OR.
?filter={ "op":"or", "filter":[ { "createdAt": {"op":"GREATER_THAN_OR_EQUALS","value":"2020-01-01T00:00:00.000Z"} }, { "id": { "op":"IN", "value":[ "6b8e6531-cf07-4d1f-be39-68ea22d88c0e", "99e5d8b8-c477-4ce9-812e-9822d18adb99" ] } } ] }
ترشيح مركب ومتعمق
يجمع عامل التصفية التالي بين AND خارجي وOR داخلي. وهو يحدد الكيانات التي يتضمن السؤال فيها عبارة «كيف يمكننا»، AND (إما أن تكون الحالة «مفتوح» أو أن يكون العنوان «مهمتي»)
?filter={"op":"and","filter":[{"question":{ "op":"INCLUDES","value":"How might we"}},{"op":"or","filter":[{"status":"OPEN" },{"title":"My Mission"}]}]}