Share via


使用 JavaScript 在 Azure Cosmos DB for NoSQL 中查詢項目

適用於:NoSQL

Azure Cosmos DB 中的項目代表儲存在容器內的實體。 在 NoSQL API 中,項目是由具有唯一識別碼的 JSON 格式資料所組成。 當您使用 NoSQL API 發出查詢時,結果會以 JSON 文件的 JSON 陣列形式傳回。

使用 SQL 查詢項目

Azure Cosmos DB for NoSQL 支援使用結構化查詢語言 (SQL),對容器中的項目執行查詢。 簡單的 SQL 查詢 (例如 SELECT * FROM products) 會從容器傳回所有項目和屬性。 查詢可能更複雜,並包含特定的欄位投影、篩選和其他常見 SQL 子句:

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

若要深入瞭解 Azure Cosmos DB for NoSQL 的 SQL 語法,請參閱開始使用 SQL 查詢

查詢項目

使用 query 方法,從容器的 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 `);
}

query 方法會傳回 QueryIterator 物件。 使用迭代器的 fetchAll 方法擷取所有結果。 QueryIterator 也提供 fetchNexthasMoreResults 和其他方法來協助您使用結果。

下一步

既然您已查詢多個項目,請使用 NoSQL API 試用其中一個端對端教學課程。