次の方法で共有


JavaScript を使用して Azure Cosmos DB for NoSQL の項目のクエリを実行する

適用対象: NoSQL

Azure Cosmos DB 内の項目は、コンテナー内に格納されているエンティティを表します。 NoSQL 用 API では、項目は一意の識別子を含む JSON 形式のデータから成ります。 NoSQL 用 API を使用してクエリを発行すると、JSON ドキュメントの JSON 配列として結果が返されます。

SQL を使用して項目のクエリを実行する

Azure Cosmos DB for NoSQL では、構造化照会言語 (SQL) を使用してコンテナー内の項目に対してクエリを実行できます。 SELECT * FROM products などの単純な SQL クエリは、コンテナーからすべての項目とプロパティを返します。 クエリは、さらに複雑にして、特定のフィールド プロジェクション、フィルター、およびその他の一般的な SQL 句を含めることができます。

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

Azure Cosmos DB for NoSQL の SQL 構文の詳細については、「SQL クエリの使用を開始する」を参照してください。

項目にクエリを実行する

クエリ メソッドを使用して、コンテナーの items オブジェクトから一致する項目の配列を作成します。

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

クエリ メソッドは、QueryIterator オブジェクトを返します。 すべての結果を取得するには、反復子の fetchAll メソッドを使用します。 QueryIterator には、結果の使用に役立つ fetchNexthasMoreResults、およびその他のメソッドも用意されています。

次のステップ

複数の項目に対してクエリを実行したので、NoSQL 用 API を使用したエンド ツー エンドのチュートリアルのいずれかを試してみます。