Abfragen von Elementen in Azure Cosmos DB for NoSQL mithilfe von JavaScript
GILT FÜR: NoSQL
Elemente in Azure Cosmos DB stellen Entitäten dar, die in einem Container gespeichert sind. In der API für NoSQL besteht ein Element aus Daten im JSON-Format mit einem eindeutigen Bezeichner. Wenn Sie Abfragen mithilfe der API für NoSQL ausführen, werden Ergebnisse als ein JSON-Array von JSON-Dokumenten zurückgegeben.
Abfragen von Elementen mit SQL
Azure Cosmos DB for NoSQL unterstützt die Verwendung von Structured Query Language (SQL) zum Abfragen von Elementen in Containern. Eine einfache SQL-Abfrage wie SELECT * FROM products
gibt alle Elemente und Eigenschaften aus einem Container zurück. Abfragen können allerdings auch komplexer sein und spezifische Feldprojektionen, Filter und andere gängige SQL-Klauseln enthalten:
SELECT
p.name,
p.quantity
FROM
products p
WHERE
p.quantity > 500
Weitere Informationen zur SQL-Syntax für Azure Cosmos DB for NoSQL finden Sie unter Erste Schritte mit SQL-Abfragen.
Abfragen eines Elements
Erstellen Sie mithilfe der query-Methode ein Array übereinstimmender Elemente aus dem Items-Objekt des Containers.
const querySpec = {
query: `SELECT * FROM ${container.id} f WHERE f.name = @name`,
parameters: [{
name: "@name",
value: "Sunnox Surfboard",
}],
};
const { resources } = await container.items.query(querySpec).fetchAll();
for (const product of resources) {
console.log(`${product.name}, ${product.quantity} in stock `);
}
Jede query-Methode gibt ein QueryIterator-Objekt zurück. Verwenden Sie die fetchAll-Methode des Iterators, um alle Ergebnisse abzurufen. Das QueryIterator-Objekt bietet auch fetchNext, hasMoreResults und andere Methoden, die Ihnen helfen, die Ergebnisse zu verwenden.
Nächste Schritte
Nachdem Sie mehrere Elemente abgefragt haben, probieren Sie jetzt eines unserer End-to-End-Tutorials mit der API für NoSQL aus.