Eseguire query su elementi in Azure Cosmos DB per NoSQL usando JavaScript
SI APPLICA A: NoSQL
Gli elementi in Azure Cosmos DB rappresentano le entità archiviate all'interno di un contenitore. Nell'API per NoSQL, un elemento è costituito da dati formattati per JSON con un identificatore univoco. Quando si eseguono query usando l'API per NoSQL, i risultati vengono restituiti come matrice JSON di documenti JSON.
Eseguire query usando SQL
Azure Cosmos DB per NoSQL supporta l'uso di Structured Query Language (SQL) per eseguire query su elementi presenti all'interno di contenitori. Una query SQL semplice come SELECT * FROM products
restituisce tutti gli elementi e tutte le proprietà da un contenitore. Le query possono essere ancora più complesse e includere proiezioni di campi, filtri e altre clausole SQL comuni:
SELECT
p.name,
p.quantity
FROM
products p
WHERE
p.quantity > 500
Per ottenere maggiori informazioni sulla sintassi SQL per Azure Cosmos DB per NoSQL, consultare Query in Azure Cosmos DB per NoSQL.
Eseguire una query su un elemento
Creare una matrice di elementi corrispondenti dagli oggetti items del contenitore usando il metodo query.
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 `);
}
Il metodo query restituisce un oggetto QueryIterator. Usare il metodo fetchAll dell'iteratore per recuperare tutti i risultati. QueryIterator fornisce anche i metodi fetchNext, hasMoreResults e altri per consentire l'uso dei risultati.
Passaggi successivi
Dopo aver eseguito query su più elementi, provare una delle esercitazioni end-to-end con l'API per NoSQL.