Bagikan melalui


Minta Kueri Dokumen

Anda dapat mengkueri dokumen json arbitrer dalam koleksi dengan melakukan posting terhadap sumber daya "colls" di Cosmos DB. Sintaks sql Cosmos DB menyediakan operator kueri hierarkis, relasional, dan spasial untuk mengkueri dan memproyeksikan dokumen. Untuk informasi selengkapnya tentang mengkueri sumber daya di Cosmos DB, lihat mengkueri sumber daya.

Minta

Metode Meminta URI Deskripsi
Posting https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs perhatikan bahwa {databaseaccount} adalah nama akun Cosmos DB yang dibuat di bawah langganan Anda. nilai {db-id} adalah nama/id database yang dihasilkan pengguna, bukan id yang dihasilkan sistem (rid). nilai {coll-id} adalah nama koleksi.

Header

Lihat Header permintaan Rest Azure Cosmos DB umum untuk header yang digunakan oleh semua permintaan Cosmos DB.

Header Diperlukan Jenis Deskripsi
x-ms-documentdb-isquery Diperlukan Boolean Harus diatur ke True yang menunjukkan bahwa POST adalah kueri.
Tipe-Konten Diperlukan String String yang harus diatur ke application/query+json.
x-ms-max-item-count Opsional Telepon Bilangan bulat yang menunjukkan jumlah maksimum item yang akan dikembalikan per halaman. Kueri akan mengembalikan tidak lebih dari jumlah item yang ditentukan per halaman, tetapi bisa lebih sedikit tergantung pada tingkat performa koleksi dan ukurannya. Jumlah item x-ms-max -1 dapat ditentukan untuk memungkinkan layanan menentukan jumlah item yang optimal. Ini adalah nilai konfigurasi yang direkomendasikan untuk x-ms-max-item-count.
x-ms-continuation Opsional String Token string dikembalikan untuk kueri dan operasi read-feed jika ada lebih banyak hasil yang akan dibaca. Klien dapat mengambil halaman hasil berikutnya dengan mengirimkan ulang permintaan dengan header permintaan x-ms-continuation yang diatur ke nilai ini.
x-ms-documentdb-query-enablecrosspartition Opsional Boolean Jika koleksi dipartisi, ini harus diatur ke True untuk memungkinkan eksekusi di beberapa partisi. Kueri yang memfilter terhadap satu kunci partisi, atau terhadap koleksi partisi tunggal tidak perlu mengatur header .
tingkat konsistensi x-ms Opsional String Ini adalah penimpaan tingkat konsistensi. Nilai yang valid adalah: Kuat, Terikat, Sesi, atau Akhirnya (dalam urutan terkuat hingga terlemah). Penimpaan harus sama atau lebih lemah dari tingkat konsistensi akun yang dikonfigurasi.
x-ms-session-token Opsional String Token string yang digunakan dengan konsistensi tingkat sesi. Klien harus menggemakan nilai baca terbaru header ini selama permintaan baca untuk konsistensi sesi.

Penting

Content-Type Untuk header JANGAN sertakan charset (yaitu "application/query+json; charset-utf-8"). Header harus persis seperti yang ditunjukkan di atas.

Isi

Properti Diperlukan Jenis Deskripsi
query Diperlukan String Berisi teks kueri SQL. Untuk tata bahasa, lihat Tata Bahasa SQL.
parameter Diperlukan Array Array nilai parameter untuk kueri.
{  
  "query": "SELECT * FROM Families f WHERE f.id = @id AND f.Address.City = @city",  
  "parameters": [  
    {  
      "name": "@id",  
      "value": "AndersenFamily"  
    },  
    {  
      "name": "@city",  
      "value": "Seattle"  
    }  
  ]  
}  
  

Respons

Mengembalikan array dokumen yang cocok dengan kueri yang diminta.

Header

Lihat Header respons Rest Azure Cosmos DB umum untuk header yang dikembalikan oleh semua respons Cosmos DB. Header respons penting adalah:

Properti Jenis Deskripsi
x-ms-continuation String Mengembalikan token untuk mengambil lebih banyak hasil dari operasi. Klien dapat mengirim ulang permintaan dengan header permintaan x-ms-continuation yang berisi nilai ini untuk melanjutkan eksekusi.
x-ms-request-charge Telepon Jumlah unit permintaan yang digunakan oleh operasi.

Kode status

Tabel berikut mencantumkan kode status umum yang dikembalikan oleh operasi ini. Untuk daftar lengkap kode status, lihat Kode Status HTTP.

Kode status HTTP Deskripsi
200 OK Operasi berhasil.
400 Permintaan Buruk Permintaan tertentu ditentukan dengan sintaks SQL yang salah, atau header yang diperlukan tidak ada.

Isi

Properti Deskripsi
_rid Ini adalah ID sumber daya yang dihasilkan sistem untuk koleksi tempat dokumen berada.
_Menghitung Ini adalah jumlah dokumen yang dikembalikan oleh operasi daftar.
Dokumen Array dokumen yang dikembalikan oleh operasi.

Properti Dokumen

Properti Deskripsi
id Ini adalah nama unik yang mengidentifikasi dokumen, yaitu tidak ada dua dokumen yang dapat berbagi id yang sama. Id tidak boleh melebihi 255 karakter.
<kustom> JSON yang ditentukan pengguna apa pun.
_rid Ini adalah properti yang dihasilkan sistem. ID sumber daya (_rid) adalah pengidentifikasi unik yang juga hierarkis per tumpukan sumber daya pada model sumber daya. Ini digunakan secara internal untuk penempatan dan navigasi sumber daya dokumen.
_Ts Ini adalah properti yang dihasilkan sistem. Ini menentukan tanda waktu terakhir yang diperbarui dari sumber daya. Nilainya adalah tanda waktu.
_self Ini adalah properti yang dihasilkan sistem. Ini adalah URI unik yang dapat diatasi untuk sumber daya.
_etag Ini adalah properti yang dihasilkan sistem yang menentukan etag sumber daya yang diperlukan untuk kontrol konkurensi optimis.
_Lampiran Ini adalah properti yang dihasilkan sistem yang menentukan jalur yang dapat diatasi untuk sumber daya lampiran.
{  
  "_rid": "1KtjAImkcgw=",  
  "Documents": [  
    {  
      "id": "AndersenFamily",  
      "LastName": "Andersen",  
      "Parents": [  
        {  
          "FamilyName": null,  
          "FirstName": "Thomas"  
        },  
        {  
          "FamilyName": null,  
          "FirstName": "Mary Kay"  
        }  
      ],  
      "Children": [  
        {  
          "FamilyName": null,  
          "FirstName": "Henriette Thaulow",  
          "Gender": "female",  
          "Grade": 5,  
          "Pets": [  
            {  
              "GivenName": "Fluffy"  
            }  
          ]  
        }  
      ],  
      "Address": {  
        "State": "WA",  
        "County": "King",  
        "City": "Seattle"  
      },  
      "IsRegistered": true,  
      "_rid": "1KtjAImkcgwBAAAAAAAAAA==",  
      "_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",  
      "_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",  
      "_ts": 1459218509,  
      "_attachments": "attachments/"  
    }  
  ],  
  "_count": 1  
}  
  

Contoh

POST https://querydemo.documents.azure.com/dbs/1KtjAA==/colls/1KtjAImkcgw=/docs HTTP/1.1  
x-ms-continuation:   
x-ms-documentdb-isquery: True  
x-ms-documentdb-query-enablecrosspartition: True  
x-ms-date: Tue, 29 Mar 2016 02:28:32 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3drOlOhFh9plfC0ggZfmHtS3XepVitiIRsd6i1d9PnuW8%3d  
Cache-Control: no-cache  
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0  
x-ms-version: 2015-12-16  
Accept: application/json  
Content-Type: application/query+json  
Host: querydemo.documents.azure.com  
Cookie: x-ms-session-token#0=604; x-ms-session-token=604  
Content-Length: 170  
Expect: 100-continue  
  
{  
  "query": "SELECT * FROM Families f WHERE f.id = @id AND f.Address.City = @city",  
  "parameters": [  
    {  
      "name": "@id",  
      "value": "AndersenFamily"  
    },  
    {  
      "name": "@city",  
      "value": "Seattle"  
    }  
  ]  
}  
  
HTTP/1.1 201 Created  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Transfer-Encoding: chunked  
Content-Type: application/json  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:39:02.501 GMT  
etag: "00003200-0000-0000-0000-56f9e84d0000"  
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;  
x-ms-resource-usage: documentSize=0;documentsSize=1;collectionSize=1;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/testdb/colls/testcoll  
x-ms-quorum-acked-lsn: 602  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 12.38  
x-ms-serviceversion: version=1.6.52.5  
x-ms-activity-id: 856acd38-320d-47df-ab6f-9761bb987668  
x-ms-session-token: 0:603  
Set-Cookie: x-ms-session-token#0=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=  
Set-Cookie: x-ms-session-token=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=  
x-ms-gatewayversion: version=1.6.52.5  
Date: Tue, 29 Mar 2016 02:28:30 GMT  
  
{  
  "id": "AndersenFamily",  
  "LastName": "Andersen",  
  "Parents": [  
    {  
      "FamilyName": null,  
      "FirstName": "Thomas"  
    },  
    {  
      "FamilyName": null,  
      "FirstName": "Mary Kay"  
    }  
  ],  
  "Children": [  
    {  
      "FamilyName": null,  
      "FirstName": "Henriette Thaulow",  
      "Gender": "female",  
      "Grade": 5,  
      "Pets": [  
        {  
          "GivenName": "Fluffy"  
        }  
      ]  
    }  
  ],  
  "Address": {  
    "State": "WA",  
    "County": "King",  
    "City": "Seattle"  
  },  
  "IsRegistered": true,  
  "_rid": "1KtjAImkcgwBAAAAAAAAAA==",  
  "_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",  
  "_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",  
  "_ts": 1459218509,  
  "_attachments": "attachments/"  
}  
  

Lihat juga