البرنامج التعليمي: الاستعلام عن البيانات في Azure Cosmos DB ل NoSQL

ينطبق على: NoSQL

يدعم Azure Cosmos DB for NoSQL الاستعلام عن المستندات باستخدام بناء جملة الاستعلام المضمن. توفر هذه المقالة نموذج مستند وعينتين من الاستعلامات والنتائج.

تتناول هذه المقالة المهام التالية:

  • الاستعلام عن بيانات NoSQL باستخدام بناء جملة الاستعلام المضمن

المتطلبات الأساسية

يفترض هذا البرنامج التعليمي أن لديك حساب Azure Cosmos DB وقاعدة بيانات وحاوية.

أليست لديك أي من هذه الموارد؟ أكمل هذا التشغيل السريع: إنشاء حساب Azure Cosmos DB وقاعدة بيانات وحاوية وعناصر من مدخل Microsoft Azure.

يمكنك تشغيل الاستعلامات باستخدام Azure Cosmos DB Explorer في مدخل Microsoft Azure. يمكنك أيضا تشغيل الاستعلامات باستخدام واجهة برمجة تطبيقات REST أو حزم SDK المختلفة.

لمزيد من المعلومات حول الاستعلامات، راجع بدء استخدام الاستعلامات.

نموذج المستند

تستخدم الاستعلامات في هذه المقالة المستند النموذجي التالي.

{
  "id": "WakefieldFamily",
  "parents": [
    { "familyName": "Wakefield", "givenName": "Robin" },
    { "familyName": "Miller", "givenName": "Ben" }
  ],
  "children": [
    {
      "familyName": "Merriam", 
      "givenName": "Jesse", 
      "gender": "female", "grade": 1,
      "pets": [
          { "givenName": "Goofy" },
          { "givenName": "Shadow" }
      ]
    },
    { 
      "familyName": "Miller", 
        "givenName": "Lisa", 
        "gender": "female", 
        "grade": 8 
    }
  ],
  "address": { "state": "NY", "county": "Manhattan", "city": "NY" },
  "creationDate": 1431620462,
  "isRegistered": false
}

تحديد كافة الحقول وتطبيق عامل تصفية

بالنظر إلى نموذج مستند العائلة، يقوم الاستعلام التالي بإرجاع المستندات حيث يتطابق WakefieldFamilyحقل المعرف مع . نظراً لكونه بيان SELECT *، فإن إخراج الاستعلام هو مستند JSON الكامل:

الاستعلام:

SELECT * 
FROM Families f 
WHERE f.id = "WakefieldFamily"

النتائج:

{
  "id": "WakefieldFamily",
  "parents": [
    { "familyName": "Wakefield", "givenName": "Robin" },
    { "familyName": "Miller", "givenName": "Ben" }
  ],
  "children": [
    {
      "familyName": "Merriam", 
      "givenName": "Jesse", 
      "gender": "female", "grade": 1,
      "pets": [
          { "givenName": "Goofy" },
          { "givenName": "Shadow" }
      ]
    },
    { 
      "familyName": "Miller", 
        "givenName": "Lisa", 
        "gender": "female", 
        "grade": 8 
    }
  ],
  "address": { "state": "NY", "county": "Manhattan", "city": "NY" },
  "creationDate": 1431620462,
  "isRegistered": false
}

تحديد منتج متقاطع لحقل مجموعة تابعة

يُرجع الاستعلام التالي كافة الأسماء المُعطاة من العناصر التابعة في العائلة التي يُطابق معرّفها WakefieldFamily.

الاستعلام:

SELECT c.givenName 
FROM Families f 
JOIN c IN f.children 
WHERE f.id = 'WakefieldFamily'

النتائج:

[
  {
    "givenName": "Jesse"
  },
  {
    "givenName": "Lisa"
  }
]

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

في هذا البرنامج التعليمي، قد نفذت المهام التالية:

  • تعلم كيفية الاستعلام باستخدام بناء جملة الاستعلام المضمن

يمكنك الآن المتابعة إلى البرنامج التعليمي التالي لمعرفة كيفية توزيع البيانات على مستوى العالم.