Sdílet prostřednictvím


Dotazování položek ve službě Azure Cosmos DB for NoSQL pomocí JavaScriptu

PLATÍ PRO: NoSQL

Položky ve službě Azure Cosmos DB představují entity uložené v kontejneru. V rozhraní API pro NoSQL se položka skládá z dat ve formátu JSON s jedinečným identifikátorem. Při vydávání dotazů pomocí rozhraní API pro NoSQL se výsledky vrátí jako pole JSON dokumentů JSON.

Dotazování položek pomocí SQL

Azure Cosmos DB for NoSQL podporuje použití jazyk SQL (Structured Query Language) (SQL) k provádění dotazů na položky v kontejnerech. Jednoduchý dotaz SQL, například SELECT * FROM products vrátí všechny položky a vlastnosti z kontejneru. Dotazy můžou být ještě složitější a zahrnují konkrétní projekce polí, filtry a další běžné klauzule SQL:

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

Další informace o syntaxi SQL pro Azure Cosmos DB for NoSQL najdete v tématu Začínáme s dotazy SQL.

Dotazování položky

Pomocí metody dotazu vytvořte pole odpovídajících položek z objektu položek kontejneru.

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

Metoda dotazu vrátí objekt QueryIterator . K načtení všech výsledků použijte metodu fetchAll iterátoru. QueryIterator také poskytuje fetchNext, hasMoreResults a další metody, které vám pomůžou s používáním výsledků.

Další kroky

Teď, když jste se dotazovali na více položek, vyzkoušejte jeden z našich kompletních kurzů s rozhraním API pro NoSQL.