Share via


Query's uitvoeren op items in Azure Cosmos DB voor NoSQL met behulp van JavaScript

VAN TOEPASSING OP: NoSQL

Items in Azure Cosmos DB vertegenwoordigen entiteiten die zijn opgeslagen in een container. In de API voor NoSQL bestaat een item uit gegevens in JSON-indeling met een unieke id. Wanneer u query's geeft met behulp van de API voor NoSQL, worden de resultaten geretourneerd als een JSON-matrix met JSON-documenten.

Query's uitvoeren op items met behulp van SQL

Azure Cosmos DB voor NoSQL ondersteunt het gebruik van Structured Query Language (SQL) om query's uit te voeren op items in containers. Een eenvoudige SQL-query zoals SELECT * FROM products retourneert alle items en eigenschappen van een container. Query's kunnen nog complexer zijn en specifieke veldprojecties, filters en andere algemene SQL-componenten bevatten:

SELECT 
    p.name, 
    p.quantity
FROM 
    products p 
WHERE 
    p.quantity > 500

Zie Aan de slag met SQL-query's voor meer informatie over de SQL-syntaxis voor Azure Cosmos DB voor NoSQL.

Een query uitvoeren op een item

Maak een matrix van overeenkomende items op basis van het itemsobject van de container met behulp van de querymethode .

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 `);
}

De querymethode retourneert een QueryIterator-object . Gebruik de methode fetchAll van de iterator om alle resultaten op te halen. QueryIterator biedt ook fetchNext, hasMoreResults en andere methoden om u te helpen de resultaten te gebruiken.

Volgende stappen

Nu u een query op meerdere items hebt uitgevoerd, kunt u een van onze end-to-end zelfstudies proberen met de API voor NoSQL.