Självstudie: Fråga efter data i Azure Cosmos DB för NoSQL

GÄLLER FÖR: NoSQL

Azure Cosmos DB for NoSQL stöder frågekörning mot dokument med hjälp av den inbyggda frågesyntaxen. Den här artikeln innehåller ett exempeldokument och två exempelfrågor och resultat.

Den här artikeln beskriver följande uppgifter:

  • Fråga NoSQL-data med den inbyggda frågesyntaxen

Förutsättningar

Den här självstudien förutsätter att du har ett Azure Cosmos DB-konto, en databas och en container.

Har du inga av dessa resurser? Slutför den här snabbstarten: Skapa ett Azure Cosmos DB-konto, en databas, en container och ett objekt från Azure Portal.

Du kan köra frågorna med hjälp av Azure Cosmos DB Explorer i Azure Portal. Du kan också köra frågor med hjälp av REST-API :et eller olika SDK:er.

Mer information om frågor finns i Inställningen startades med frågor.

Exempeldokument

Frågorna i den här artikeln använder följande exempeldokument.

{
  "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
}

Markera alla fält och använd ett filter

Baserat på exempelfamiljedokumentet returnerar följande fråga de dokument där ID-fältet matchar WakefieldFamily. Eftersom det är en SELECT *-instruktion är utdatan från frågan ett komplett JSON-dokument:

Fråga:

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

Resultat:

{
  "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
}

Välj en korsprodukt av ett underordnat samlingsfält

Nästa fråga returnerar alla angivna namn på underordnade i familjen vars ID matchar WakefieldFamily.

Fråga:

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

Resultat:

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

Nästa steg

I den här självstudien har du gjort följande:

  • Lärt dig hur du frågar med den inbyggda frågesyntaxen

Du kan nu fortsätta till nästa självstudie för att lära dig hur du distribuerar dina data globalt.