Tutorial: Abfragen von Daten in Azure Cosmos DB for NoSQL
GILT FÜR: NoSQL
Azure Cosmos DB for NoSQL unterstützt das Abfragen von Dokumenten mithilfe der integrierten Abfragesyntax. Dieser Artikel stellt ein Beispieldokument sowie zwei SQL-Beispielabfragen und Ergebnisse zur Verfügung.
In diesem Artikel werden die folgenden Aufgaben behandelt:
- Abfragen von NoSQL-Daten mit der integrierten Abfragesyntax
Voraussetzungen
Dieses Tutorial setzt voraus, dass Sie über ein Konto, eine Datenbank und einen Container in Azure Cosmos DB verfügen.
Sie verfügen über keine dieser Ressourcen? Führen Sie diesen Schnellstart aus: Erstellen eines Azure Cosmos DB-Kontos, einer Datenbank, eines Containers sowie von Elementen mit dem Azure-Portal.
Sie können die Abfragen mit dem Azure Cosmos DB-Explorer im Azure-Portal ausführen. Sie können Abfragen auch mit der REST-API oder verschiedenen SDKs ausführen.
Weitere Informationen zu Abfragen finden Sie unter Erste Schritte mit Abfragen.
Beispieldokument
Die Abfragen in diesem Artikel verwenden das folgende Beispieldokument.
{
"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
}
Auswählen aller Felder und Anwenden eines Filters
Im Beispiel des Familienbeispieldokuments gibt die folgende Abfrage die Dokumente zurück, in denen das Feld „ID“ mit WakefieldFamily
übereinstimmt. Da es sich um eine SELECT *
-Anweisung handelt, ist die Ausgabe der Abfrage das komplette JSON-Dokument:
Abfrage:
SELECT *
FROM Families f
WHERE f.id = "WakefieldFamily"
Ergebnisse:
{
"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
}
Auswählen eines Kreuzprodukts eines Sammlungsfelds für Kinder
Die nächste Abfrage gibt alle Vornamen von Kindern der Familie zurück, deren ID WakefieldFamily
entspricht.
Abfrage:
SELECT c.givenName
FROM Families f
JOIN c IN f.children
WHERE f.id = 'WakefieldFamily'
Ergebnisse:
[
{
"givenName": "Jesse"
},
{
"givenName": "Lisa"
}
]
Nächste Schritte
In diesem Tutorial haben Sie die folgenden Aufgaben ausgeführt:
- Verwenden von Abfragen mit der integrierten Abfragesyntax
Sie können jetzt mit dem nächsten Tutorial fortfahren, um zu erfahren, wie Sie Ihre Daten global verteilen.