Dela via


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

GÄLLER FÖR: NoSQL

Azure Cosmos DB för NoSQL stöder frågor 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 inte några 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-portalen.

Du kan köra frågorna med Hjälp av Azure Cosmos DB Explorer i Azure-portalen. 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 Komma igång 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

Med tanke 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 förnamn 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.