Freigeben über


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.