你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 JavaScript 查询 Azure Cosmos DB for NoSQL 中的项

适用范围: NoSQL

Azure Cosmos DB 中的项表示存储在容器中的实体。 在 API for NoSQL 中,项由具有唯一标识符的 JSON 格式数据组成。 使用 API for NoSQL 发出查询时,结果将作为 JSON 文档的 JSON 数组返回。

使用 SQL 查询项

适用于 NoSQL 的 Azure Cosmos DB 支持使用结构化查询语言 (SQL) 对容器中的项执行查询。 类似 SELECT * FROM products 的简单 SQL 查询将返回容器中的所有项和属性。 查询可能更复杂,包括特定的字段投影、筛选器和其他常见的 SQL 子句:

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

若要详细了解适用于 NoSQL 的 Azure Cosmos DB 的 SQL 语法,请参阅 SQL 查询入门

查询项

使用查询方法根据容器的项目对象创建一组匹配项。

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,以及其他方法来帮助你使用结果。

后续步骤

现在你已经查询了多个项,请尝试 API for NoSQL 的任一端到端教程。