Поделиться через


Запрос элементов в Azure Cosmos DB для NoSQL с помощью JavaScript

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Элементы в Azure Cosmos DB представляют сущности, хранящиеся в контейнере. В API для NoSQL элемент состоит из отформатированных в формате JSON данных с уникальным идентификатором. При выполнении запросов с помощью API для NoSQL результаты возвращаются в виде массива JSON документов JSON.

Запрашивание элементов с помощью SQL

Azure Cosmos DB для NoSQL поддерживает использование язык SQL (SQL) для выполнения запросов к элементам в контейнерах. Простой SQL-запрос, например SELECT * FROM products возвращает все элементы и свойства из контейнера. Запросы могут быть еще более сложными и включать определенные проекции полей, фильтры и другие общие предложения SQL.

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

Дополнительные сведения о синтаксисе SQL для Azure Cosmos DB для NoSQL см. в статье "Начало работы с запросами 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 . Чтобы получить все результаты, используйте метод получения итератора. QueryIterator также предоставляет получение результатов, hasMoreResults и другие методы, которые помогут вам использовать результаты.

Следующие шаги

Теперь, когда вы запросили несколько элементов, попробуйте одно из наших комплексных руководств с ПОМОЩЬЮ API для NoSQL.