Interroger des éléments dans Azure Cosmos DB for NoSQL à l’aide de JavaScript

S’APPLIQUE À : NoSQL

Les éléments dans Azure Cosmos DB représentent des entités stockées dans un conteneur. Dans l’API pour NoSQL, un élément se compose de données au format JSON avec un identificateur unique. Lorsque vous émettez des requêtes à l’aide de l’API pour NoSQL, les résultats sont retournés sous la forme d’un tableau JSON de documents JSON.

Interroger des éléments à l’aide de SQL

Azure Cosmos DB for NoSQL prend en charge l’utilisation du langage SQL (Structured Query Language) pour effectuer des requêtes sur des éléments dans des conteneurs. Une simple requête SQL comme SELECT * FROM products retourne tous les éléments et toutes les propriétés d’un conteneur. Les requêtes peuvent être encore plus complexes et inclure des projections de champs, des filtres et d’autres clauses SQL courantes :

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

Pour en savoir plus sur la syntaxe SQL pour Azure Cosmos DB for NoSQL, consultez Bien démarrer avec les requêtes SQL.

Interroger un élément

Créez un tableau d’éléments correspondants à partir de l’objet éléments du conteneur à l’aide de la méthode requête.

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

La méthode de requête retourne un objet QueryIterator. Servez-vous de la méthode fetchAll de l’itérateur pour récupérer tous les résultats. Pour vous aider à utiliser les résultats, QueryIterator fournit également fetchNext, hasMoreResults et d’autres méthodes.

Étapes suivantes

Maintenant que vous avez interrogé plusieurs éléments, essayez l’un de nos tutoriels de bout en bout avec l’API pour NoSQL.