استخدام أوامر ملحق MongoDB لإدارة البيانات المخزنة في Azure Cosmos DB ل MongoDB

ينطبق على: MongoDB

يحتوي المستند التالي على أوامر الإجراء المخصصة الخاصة ب Azure Cosmos DB ل MongoDB. يمكن استخدام هذه الأوامر لإنشاء موارد قاعدة البيانات الخاصة بـ نموذج سعة Azure Cosmos DB والحصول عليها.

باستخدام Azure Cosmos DB ل MongoDB، يمكنك الاستمتاع بالمزايا المشتركة ل Azure Cosmos DB. تتضمن هذه الفوائد، على سبيل المثال لا الحصر:

  • التوزيع العالمي
  • التقسيم التلقائي
  • ⁧قابلية الوصول العالية⁧
  • ضمانات زمن الانتقال
  • التشفير الثابت
  • النسخ الاحتياطي

يمكنك الاستمتاع بهذه الفوائد مع الحفاظ على استثماراتك في تطبيق MongoDB الحالي. يمكنك الاتصال ب Azure Cosmos DB ل MongoDB باستخدام أي من برامج تشغيل عميل MongoDB مفتوحة المصدر. يتيح Azure Cosmos DB ل MongoDB استخدام برامج تشغيل العميل الحالية من خلال الالتزام ببروتوكول MongoDB السلكي.

دعم بروتوكول MongoDB

يتوافق Azure Cosmos DB ل MongoDB مع إصدار خادم MongoDB 4.0 و3.6 و3.2. لمزيد من المعلومات، راجع الميزات المدعومة وبناء الجملة في الإصدارات 4.0و3.6و3.2.

تنشئ أوامر الملحق التالية موارد خاصة ب Azure Cosmos DB وتعدلها عبر طلبات قاعدة البيانات:

إنشاء قاعدة بيانات

يعمل الأمر إنشاء ملحق قاعدة بيانات على إنشاء قاعدة بيانات MongoDB جديدة. يمكن استخدام اسم قاعدة البيانات من سياق قاعدة البيانات المعين بواسطة الأمرuse database. يصف الجدول التالي المعلمات داخل الأمر:

الحقل النوع الوصف
customAction string اسم الأمر المخصص. يجب أن تكون القيمة CreateDatabase.
offerThroughput int معدل النقل المتوفر الذي قمت بتعيينه في قاعدة البيانات. هذه المعلمة اختيارية.
autoScaleSettings Object مطلوب لوضع التحجيم التلقائي. يحتوي هذا العنصر على الإعدادات المقترنة بوضع سعة التحجيم التلقائي. يمكنك إعداد maxThroughput القيمة، التي تصف أكبر عدد من وحدات الطلب التي يمكن أن تزيدها المجموعة إلى ديناميكيا.

المخرجات

إذا كان الأمر ناجحا، فإنه يرجع الاستجابة التالية:

{ "ok" : 1 }

راجع المخرجات الافتراضية للأمر المخصص للمعلمات في المخرجات.

مثال: إنشاء قاعدة بيانات

لإنشاء قاعدة بيانات باسم "test" يستخدم جميع القيم الافتراضية، استخدم الأمر التالي:

use test
db.runCommand({customAction: "CreateDatabase"});

ينشئ هذا الأمر قاعدة بيانات بدون معدل نقل على مستوى قاعدة البيانات. تعني هذه العملية أن المجموعات داخل قاعدة البيانات هذه تحتاج إلى تحديد مقدار معدل النقل الذي تحتاج إلى استخدامه.

مثال: إنشاء قاعدة بيانات ذات معدل نقل

لإنشاء قاعدة بيانات باسم "test" ولتحديد معدل نقل مُعدعلى مستوى قاعدة البيانات مقداره 1000 وحدة طلب/ثانية، استخدم الأمر التالي:

use test
db.runCommand({customAction: "CreateDatabase", offerThroughput: 1000 });

ينشئ هذا الأمر قاعدة بيانات ويعين معدل نقل إليها. تشترك جميع المجموعات داخل قاعدة البيانات هذه في معدل النقل المحدد، ما لم يتم إنشاء المجموعات بمستوى معدل نقل معين.

مثال: إنشاء قاعدة بيانات باستخدام معدل نقل التحجيم التلقائي

لإنشاء قاعدة بيانات باسم "test" ولتحديد معدل نقل بأقصى تحجيم تلقائي يبلغ 20000 وحدة طلب/ثانية على مستوى قاعدة البيانات، استخدم الأمر التالي:

use test
db.runCommand({customAction: "CreateDatabase", autoScaleSettings: { maxThroughput: 20000 } });

تحديث قاعدة البيانات

يقوم الأمر تحديث ملحق قاعدة البيانات بتحديث الخصائص المرتبطة بقاعدة البيانات المحددة. يتم دعم تغيير قاعدة البيانات الخاصة بك من معدل النقل المقدم إلى التحجيم التلقائي والعكس بالعكس فقط في مدخل Microsoft Azure. يصف الجدول التالي المعلمات داخل الأمر:

الحقل النوع الوصف
customAction string اسم الأمر المخصص. يجب أن تكون القيمة UpdateDatabase.
offerThroughput int يتم توفير معدل نقل جديد وتريد تعيينه في قاعدة البيانات في حالة كانت قاعدة البيانات تستخدم معدل نقل على مستوى قاعدة البيانات
autoScaleSettings Object مطلوب لوضع التحجيم التلقائي. يحتوي هذا العنصر على الإعدادات المقترنة بوضع سعة التحجيم التلقائي. يمكنك إعداد maxThroughput القيمة، والتي تصف أكبر عدد من وحدات الطلب التي يمكن زيادة قاعدة البيانات إليها ديناميكيا.

يستخدم هذا الأمر قاعدة البيانات المحددة في سياق جلسة العمل. قاعدة البيانات هذه هي نفسها التي استخدمتها في use <database> الأمر . في الوقت الحالي، لا يمكن تغيير اسم قاعدة البيانات باستخدام هذا الأمر.

المخرجات

إذا كان الأمر ناجحا، فإنه يرجع الاستجابة التالية:

{ "ok" : 1 }

راجع المخرجات الافتراضية للأمر المخصص للمعلمات في المخرجات.

مثال: تحديث معدل النقل المتوفر المقترن بقاعدة بيانات

لتحديث معدل النقل المتوفر لقاعدة بيانات بالاسم إلى "test" 1200 وحدة طلب/ثانية، استخدم الأمر التالي:

use test
db.runCommand({customAction: "UpdateDatabase", offerThroughput: 1200 });

مثال: تحديث معدل نقل التحجيم التلقائي المقترن بقاعدة بيانات

لتحديث معدل النقل المتوفر لقاعدة بيانات بالاسم "test" إلى 20000 وحدة طلب/ثانية، أو لتحويلها إلى مستوى معدل نقل تحجيم تلقائي، استخدم الأمر التالي:

use test
db.runCommand({customAction: "UpdateDatabase", autoScaleSettings: { maxThroughput: 20000 } });

الحصول على قاعدة بيانات

يعمل الأمر الحصول على ملحق قاعدة البيانات بإرجاع عنصر قاعدة البيانات. اسم قاعدة البيانات مستخدم من سياق قاعدة البيانات الذي ينفذ على أساسه الأمر.

{
  customAction: "GetDatabase"
}

يصف الجدول التالي المعلمات داخل الأمر:

الحقل النوع الوصف
customAction string اسم الأمر المخصص. يجب أن تكون القيمة GetDatabase.

المخرجات

إذا نجح الأمر، لا بد وأن تحتوي الاستجابة على مستند يحتوي على الحقول التالية:

الحقل النوع الوصف
ok int حالة الاستجابة. 1 == النجاح. 0 == فشل.
database string اسم قاعدة البيانات.
provisionedThroughput int معدل النقل المتوفر الذي يتم تعيينه في قاعدة البيانات إذا كانت قاعدة البيانات تستخدم معدل نقل يدوي بمستوى قاعدة البيانات
autoScaleSettings Object يحتوي هذا الكائن على معلمات السعة المقترنة بقاعدة البيانات إذا كان يستخدم وضع التحجيم التلقائي. maxThroughput تصف القيمة أكبر عدد من وحدات الطلب التي يمكن زيادتها إلى قاعدة البيانات ديناميكيا.

إذا فشل الأمر، يتم إرجاع استجابة أمر مخصص افتراضياً. راجع المخرجات الافتراضية للأمر المخصص للمعلمات في المخرجات.

مثال: الحصول على قاعدة البيانات

للحصول على عنصر قاعدة بيانات لقاعدة بيانات باسم "test"، استخدم الأمر التالي:

use test
db.runCommand({customAction: "GetDatabase"});

إذا كان لقاعدة البيانات أي معدل نقل مقترن، سوف تكون المخرجات:

{ "database" : "test", "ok" : 1 }

إذا كان لدى قاعدة البيانات معدل نقل يدوي على مستوى قاعدة البيانات مقترناً به، فإن الإخراج سيعرض القيم provisionedThroughput:

{ "database" : "test", "provisionedThroughput" : 20000, "ok" : 1 }

إذا كان لقاعدة البيانات معدل نقل تحجيم تلقائي على مستوى قاعدة البيانات مقترناً به، فإن المخرجات سوف تظهرprovisionedThroughput، الذي يصف الحد الأدنى من وحدة الطلب/ثانية لقاعدة البيانات، والعنصرautoScaleSettings بما في ذلك maxThroughput، والذي يصف الحد الأقصى لوحدات الطلب/ثانية لقاعدة البيانات.

{
        "database" : "test",
        "provisionedThroughput" : 2000,
        "autoScaleSettings" : {
                "maxThroughput" : 20000
        },
        "ok" : 1
}

إنشاء مجموعة

يعمل الأمر على إنشاء ملحق مجموعة بإنشاء مجموعة MongoDB جديدة. يتم استخدام اسم قاعدة البيانات من سياق قواعد البيانات التي تم تعيينها بواسطة الأمر use database. تنسيق الأمر CreateCollection كما يلي:

{
  customAction: "CreateCollection",
  collection: "<Collection Name>",
  shardKey: "<Shard key path>",
  // Replace the line below with "autoScaleSettings: { maxThroughput: (int) }" to use Autoscale instead of Provisioned Throughput. Fill the required Autoscale max throughput setting.
  offerThroughput: (int) // Provisioned Throughput enabled with required throughput amount set.
  indexes: [{key: {_id: 1}, name: "_id_1"}, ... ] // Optional indexes (3.6+ accounts only).
}

يصف الجدول التالي المعلمات داخل الأمر:

الحقل النوع مطلوب الوصف
customAction string مطلوب اسم الأمر المخصص. يجب أن تكون القيمة CreateCollection.
collection string مطلوب اسم المجموعة. لا يسمح بأحرف أو مسافات خاصة.
offerThroughput int ‏‏اختياري معدل النقل المتوفر لتعيينه على قاعدة البيانات. إذا لم يتم توفير هذه المعلمة، فسيتم تعيينها افتراضيا إلى الحد الأدنى، 400 وحدة طلب/ثانية. * لتحديد معدل النقل بعد 10000 وحدة طلب/ثانية، shardKey مطلوب المعلمة.
shardKey string مطلوب للمجموعات ذات معدل النقل الكبير المسار إلى المفتاح الجزء للمجموعة الجزئية. هذه المعلمة مطلوبة إذا قمت بتعيين أكثر من 10,000 وحدة طلب/ثانيةofferThroughput. إذا تم تحديده، فإن جميع المستندات المدرجة تتطلب هذا المفتاح والقيمة.
autoScaleSettings Object مطلوب لـ وضع التحجيم التلقائي يحتوي هذا العنصر على الإعدادات المقترنة بوضع سعة التحجيم التلقائي. يمكنك إعداد maxThroughput القيمة، والتي تصف أكبر عدد من وحدات الطلب التي يمكن زيادتها إلى المجموعة ديناميكيا.
indexes Array تكوين الفهارس اختيارياً. يتم دعم هذه المعلمة خصوصاً لحسابات 3.6+ فقط. عند وجودها، مطلوب فهرس على _id. كل إدخال في المصفوفة لابد وأن يشتمل على مفتاح واحد أو أكثر من الحقول، واسم، وقد يحتوي على خيارات الفهرس. على سبيل المثال، لإنشاء فهرس فريد مركب على الحقول a وb استخدام هذا الإدخال: {key: {a: 1, b: 1}, name:"a_1_b_1", unique: true}.

المخرجات

إرجاع استجابة أمر مخصص افتراضياً. راجع المخرجات الافتراضية للأمر المخصص للمعلمات في المخرجات.

مثال: إنشاء مجموعة مع الحد الأدنى من التكوين

لإنشاء مجموعة جديدة بالاسم "testCollection" والقيم الافتراضية، استخدم الأمر التالي:

use test
db.runCommand({customAction: "CreateCollection", collection: "testCollection"});

ينتج عن هذه العملية مجموعة جديدة ثابتة وغير مقسمة مع 400RU/s وفهرس على _id الحقل تم إنشاؤه تلقائيا. ينطبق هذا النوع من التكوين أيضا عند إنشاء مجموعات جديدة عبر الدالة insert() . على سبيل المثال:

use test
db.newCollection.insert({});

مثال: إنشاء مجموعة غير مقسمة

لإنشاء مجموعة غير مقسمة بالاسم "testCollection" ومعدل النقل المقدم البالغ 1000 وحدة طلب، استخدم الأمر التالي:

use test
db.runCommand({customAction: "CreateCollection", collection: "testCollection", offerThroughput: 1000});

يمكنك إنشاء مجموعة مع ما يصل إلى 10000 وحدة طلب/ ثانية offerThroughput ودون الحاجة إلى تحديد مفتاح الجزء. بالنسبة للمجموعات ذات معدل النقل الأكبر، راجع القسم التالي.

مثال: إنشاء مجموعة مقسمة

لإنشاء مجموعة جزئية بالاسم "testCollection" ومعدل النقل المتوفر من 11،000 وحدة طلب/ثانية، وخاصية shardkey "a.b"، استخدم الأمر التالي:

use test
db.runCommand({customAction: "CreateCollection", collection: "testCollection", offerThroughput: 11000, shardKey: "a.b" });

الآن يتطلب هذا الأمر المعلمة shardKey، حيث تم تحديد أكثر من 10000 وحدة طلب/ثانية في offerThroughput.

مثال: إنشاء مجموعة تحجيم تلقائي غير مقسمة

لإنشاء مجموعة غير جزئية تمت تسميتها 'testCollection' والتي تستخدم معدل نقل التحجيم التلقائي تم إعداده إلى 4,000 وحدة طلب/ثانية استخدم الأمر التالي:

use test
db.runCommand({ 
    customAction: "CreateCollection", collection: "testCollection", 
    autoScaleSettings:{
      maxThroughput: 4000
    } 
});

بالنسبة للقيمة autoScaleSettings.maxThroughput ، يمكنك تحديد نطاق من 4000 وحدة طلب/ثانية إلى 10000 وحدة طلب/ثانية بدون مفتاح جزء. للحصول على معدل نقل تحجيم تلقائي أعلى، فأنت بحاجة إلى تحديد المعلمة shardKey.

مثال: إنشاء مجموعة تحجيم تلقائي مقسمة

لإنشاء مجموعة جزئية باسم 'testCollection' بمفتاح جزء يسمى 'a.b'، وتستخدم هذه المجموعة سعة معدل نقل تحجيم تلقائي تم إعداده إلى 20000 وحدة طلب/ثانية، استخدم الأمر التالي:

use test
db.runCommand({customAction: "CreateCollection", collection: "testCollection", shardKey: "a.b", autoScaleSettings: { maxThroughput: 20000 }});

مجموعة التحديث

يعمل الأمر تحديث ملحق المجموعة بتحديث الخصائص المرتبطة بالمجموعة المحددة. يتم دعم تغيير مجموعتك من معدل النقل المقدم إلى التحجيم التلقائي والعكس بالعكس فقط في مدخل Microsoft Azure.

{
  customAction: "UpdateCollection",
  collection: "<Name of the collection that you want to update>",
  // Replace the line below with "autoScaleSettings: { maxThroughput: (int) }" if using Autoscale instead of Provisioned Throughput. Fill the required Autoscale max throughput setting. Changing between Autoscale and Provisioned throughput is only supported in the Azure Portal.
  offerThroughput: (int) // Provisioned Throughput enabled with required throughput amount set.
  indexes: [{key: {_id: 1}, name: "_id_1"}, ... ] // Optional indexes (3.6+ accounts only).
}

يصف الجدول التالي المعلمات داخل الأمر:

الحقل النوع الوصف
customAction string اسم الأمر المخصص. يجب أن تكون القيمة UpdateCollection.
collection string اسم المجموعة.
offerThroughput int معدل النقل المتوفر لتعيينه على المجموعة.
autoScaleSettings Object مطلوب لوضع التحجيم التلقائي. يحتوي هذا العنصر على الإعدادات المقترنة بوضع سعة التحجيم التلقائي. maxThroughput تصف القيمة أكبر عدد من وحدات الطلب التي يمكن زيادتها إلى المجموعة ديناميكيا.
indexes Array تكوين الفهارس اختيارياً. يتم دعم هذه المعلمة خصوصاً لحسابات 3.6+ فقط. عند وجودها، تحل مجموعة الفهارس المحددة (بما في ذلك إسقاط الفهارس) محل الفهارس الموجودة للمجموعة. مطلوب فهرس على _id. كل إدخال في المصفوفة لابد وأن يشتمل على مفتاح واحد أو أكثر من الحقول، واسم، وقد يحتوي على خيارات الفهرس. على سبيل المثال، لإنشاء فهرس فريد مركب في الحقلين "أ" و"ب"، استخدم هذا الإدخال: {key: {a: 1, b: 1}, name: "a_1_b_1", unique: true}.

المخرجات

إرجاع استجابة أمر مخصص افتراضياً. راجع المخرجات الافتراضية للأمر المخصص للمعلمات في المخرجات.

مثال: تحديث معدل النقل المقدم المقترن بمجموعة

لتحديث معدل النقل المتوفر لمجموعة باسم "testCollection" إلى 1200 وحدة طلب/ثانية، استخدم الأمر التالي:

use test
db.runCommand({customAction: "UpdateCollection", collection: "testCollection", offerThroughput: 1200 });

الحصول على المجموعة

يتم إرجاع عنصر المجموعة من خلال أمر الحصول على مجموعة مخصصة.

{
  customAction: "GetCollection",
  collection: "<Name of the collection>"
}

يصف الجدول التالي المعلمات داخل الأمر:

الحقل النوع الوصف
customAction string اسم الأمر المخصص. يجب أن تكون القيمة GetCollection.
collection string اسم المجموعة.

المخرجات

إذا نجح الأمر، فإن الاستجابة تحتوي على مستند يحتوي على الحقول التالية

الحقل النوع الوصف
ok int حالة الاستجابة. 1 == النجاح. 0 == فشل.
database string اسم قاعدة البيانات.
collection string اسم المجموعة.
shardKeyDefinition document مستند مواصفات الفهرس المستخدم كمفتاح الجزء. هذا الحقل هو معلمة استجابة اختيارية.
provisionedThroughput int معدل النقل المتوفر لتعيينه على المجموعة. هذا الحقل هو معلمة استجابة اختيارية.
autoScaleSettings Object يحتوي هذا الكائن على معلمات السعة المقترنة بقاعدة البيانات إذا كان يستخدم وضع التحجيم التلقائي. maxThroughput تصف القيمة أكبر عدد من وحدات الطلب التي يمكن زيادة المجموعة إليها ديناميكيا.

إذا فشل الأمر، يتم إرجاع استجابة أمر مخصص افتراضياً. راجع المخرجات الافتراضية للأمر المخصص للمعلمات في المخرجات.

مثال: الحصول على المجموعة

للحصول على عنصر المجموعة لمجموعة باسم "testCollection"، استخدم الأمر التالي:

use test
db.runCommand({customAction: "GetCollection", collection: "testCollection"});

إذا كانت المجموعة تحتوي على سعة معدل نقل مقترنة بها، فإنها تتضمن provisionedThroughput القيمة، وسيكون الإخراج:

{
        "database" : "test",
        "collection" : "testCollection",
        "provisionedThroughput" : 400,
        "ok" : 1
}

إذا كانت المجموعة تحتوي على معدل نقل تحجيم تلقائي مقترن، فإنها تتضمن autoScaleSettings الكائن مع المعلمة maxThroughput ، والتي تحدد الحد الأقصى لمعدل النقل الذي تزيد المجموعة إليه ديناميكيا. بالإضافة إلى ذلك، فإنه يتضمن provisionedThroughput أيضا القيمة، التي تحدد الحد الأدنى لمعدل النقل الذي تقلله هذه المجموعة إلى إذا لم تكن هناك طلبات في المجموعة:

{
        "database" : "test",
        "collection" : "testCollection",
        "provisionedThroughput" : 1000,
        "autoScaleSettings" : {
            "maxThroughput" : 10000
        },
        "ok" : 1
}

إذا كانت المجموعة تشارك معدل نقل على مستوى قاعدة البيانات، إما في وضع التحجيم التلقائي أو اليدوي، فسوف تكون المخرجات:

{ "database" : "test", "collection" : "testCollection", "ok" : 1 }
{
        "database" : "test",
        "provisionedThroughput" : 2000,
        "autoScaleSettings" : {
            "maxThroughput" : 20000
        },
        "ok" : 1
}

التوازي بين عمليات تدفق التغييرات

عند استخدام تدفقات التغيير على نطاق واسع، من الأفضل نشر الحمل بالتساوي. يرجع الأمر التالي رمزا مميزا واحدا أو أكثر من رموز استئناف دفق التغيير - كل واحد يطابق البيانات من جزء/قسم فعلي واحد (يمكن أن توجد أجزاء/أقسام منطقية متعددة على قسم فعلي واحد). يؤدي كل رمز استئناف إلى قيام watch() فقط بإعادة البيانات من هذا الجزء/القسم الفعلي.

استخدم db.collection.watch() على كل رمز استئناف (مؤشر ترابط واحد لكل رمز مميز)، لتوسيع نطاق تدفقات التغيير بكفاءة.

{
        customAction: "GetChangeStreamTokens", 
        collection: "<Name of the collection>", 
        startAtOperationTime: "<BSON Timestamp>" // Optional. Defaults to the time the command is run.
} 

مثال: الحصول على رمز الدفق المميز

قم بتشغيل الأمر المخصص للحصول على رمز استئناف لكل جزء/قسم مادي.

use test
db.runCommand({customAction: "GetChangeStreamTokens", collection: "<Name of the collection>"})

قم بتشغيل مؤشر ترابط/عملية watch() لكل رمز استئناف مميّز يتم إرجاعه من الأمر المخصص GetChangeStreamTokens. فيما يلي مثال لمترابط واحد.

db.test_coll.watch([{ $match: { "operationType": { $in: ["insert", "update", "replace"] } } }, { $project: { "_id": 1, "fullDocument": 1, "ns": 1, "documentKey": 1 } }], 
{fullDocument: "updateLookup", 
resumeAfter: { "_data" : BinData(0,"eyJWIjoyLCJSaWQiOiJQeFVhQUxuMFNLRT0iLCJDb250aW51YXRpb24iOlt7IkZlZWRSYW5nZSI6eyJ0eXBlIjoiRWZmZWN0aXZlIFBhcnRpdGlvbiBLZXkgUmFuZ2UiLCJ2YWx1ZSI6eyJtaW4iOiIiLCJtYXgiOiJGRiJ9fSwiU3RhdGUiOnsidHlwZSI6ImNvbnRpbndkFLbiIsInZhbHVlIjoiXCIxODQ0XCIifX1dfQ=="), "_kind" : NumberInt(1)}})

تمثل الوثيقة (القيمة) في الحقل resumeAfter رمز الاستئناف المميّز. يقوم الأمر watch() بإرجاع ملعون لكافة المستندات التي تم إدراجها أو تحديثها أو استبدالها من هذا القسم الفعلي منذ تشغيل الأمر المخصص GetChangeStreamTokens. يتم تضمين عينة من البيانات التي تم إرجاعها هنا.

{
  "_id": {
    "_data": BinData(0,
    "eyJWIjoyLCJSaWQiOiJQeFVhQUxuMFNLRT0iLCJDfdsfdsfdsft7IkZlZWRSYW5nZSI6eyJ0eXBlIjoiRWZmZWN0aXZlIFBhcnRpdGlvbiBLZXkgUmFuZ2UiLCJ2YWx1ZSI6eyJtaW4iOiIiLCJtYXgiOiJGRiJ9fSwiU3RhdGUiOnsidHlwZSI6ImNvbnRpbnVhdGlvbiIsInZhbHVlIjoiXCIxOTgwXCIifX1dfQ=="),
    "_kind": 1
  },
  "fullDocument": {
    "_id": ObjectId("60da41ec9d1065b9f3b238fc"),
    "name": John,
    "age": 6
  },
  "ns": {
    "db": "test-db",
    "coll": "test_coll"
  },
  "documentKey": {
    "_id": ObjectId("60da41ec9d1065b9f3b238fc")
  }
}

يتضمن كل مستند تم إرجاعه رمزا مميزا للسعودية (كلها متشابهة لكل صفحة). يجب تخزين رمز الاستئناف المميز هذا وإعادة استخدامه إذا انتهى مؤشر الترابط/ العملية. يلتقط رمز السيرة الذاتية هذا من حيث توقفت، ويتلقى البيانات فقط من هذا القسم الفعلي.

المخرجات الافتراضية لأمر مخصص

في حالة عدم التحديد، فإن الاستجابة المخصصة تحتوي على مستند يحتوي على الحقول التالية:

الحقل النوع الوصف
ok int حالة الاستجابة. 1 == النجاح. 0 == فشل.
code int يتم إرجاعه فقط عند فشل الأمر (أي موافق == 0). يحتوي على رمز الخطأ MongoDB. هذا الحقل هو معلمة استجابة اختيارية.
errMsg string يتم إرجاعه فقط عند فشل الأمر (أي موافق == 0). يحتوي على رسالة خطأ سهلة الاستخدام. هذا الحقل هو معلمة استجابة اختيارية.

على سبيل المثال:

{ "ok" : 1 }

الخطوات التالية

بعد ذلك يمكنك المتابعة لمعرفة المفاهيم التالية Azure Cosmos DB: