Udostępnij za pośrednictwem


Wykonywanie zapytań o elementy w usłudze Azure Cosmos DB for NoSQL przy użyciu języka JavaScript

DOTYCZY: NoSQL

Elementy w usłudze Azure Cosmos DB reprezentują jednostki przechowywane w kontenerze. W interfejsie API for NoSQL element składa się z danych w formacie JSON z unikatowym identyfikatorem. W przypadku wystawiania zapytań przy użyciu interfejsu API dla noSQL wyniki są zwracane jako tablica JSON dokumentów JSON.

Wykonywanie zapytań o elementy przy użyciu języka SQL

Usługa Azure Cosmos DB for NoSQL obsługuje używanie języka Structured Query Language (SQL) do wykonywania zapytań dotyczących elementów w kontenerach. Proste zapytanie SQL, takie jak SELECT * FROM products zwraca wszystkie elementy i właściwości z kontenera. Zapytania mogą być jeszcze bardziej złożone i obejmują określone projekcje pól, filtry i inne typowe klauzule SQL:

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

Aby dowiedzieć się więcej o składni SQL dla usługi Azure Cosmos DB for NoSQL, zobacz Wprowadzenie do zapytań SQL.

Wykonywanie zapytań względem elementu

Utwórz tablicę pasujących elementów z obiektu items kontenera przy użyciu metody zapytania.

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 zapytania zwraca obiekt QueryIterator . Użyj metody fetchAll iteratora, aby pobrać wszystkie wyniki. Funkcja QueryIterator udostępnia również metodę fetchNext, hasMoreResults i inne metody ułatwiające korzystanie z wyników.

Następne kroki

Teraz, gdy wykonano zapytanie dotyczące wielu elementów, wypróbuj jeden z naszych kompleksowego samouczka przy użyciu interfejsu API dla noSQL.