Freigeben über


Abfragen von Elementen in Azure Cosmos DB for NoSQL mithilfe von JavaScript

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.

Ein Element abfragen

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.