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


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

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

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

Элемент, определение элемента и ответ на элемент

В пакете SDK JavaScript три объекта, связанные с элементом, имеют разные цели.

Имя. Операции
Элемент Функции, включая чтение, исправление, замена, удаление.
ItemDefinition Пользовательский объект данных. Включает id и ttl свойства автоматически.
ItemResponse Включает statusCode, item и другие свойства.

Используйте свойства объекта ItemResponse , чтобы понять результат операции.

  • statusCode: код состояния HTTP. Успешный ответ находится в диапазоне от 200 до 299.
  • activityId: уникальный идентификатор для операции, например создание, чтение, замена или удаление.
  • etag: тег сущности, связанный с данными. Используется для оптимистического параллелизма, кэширования и условных запросов.
  • элемент: объект item , используемый для выполнения таких операций, как чтение, замена, удаление.
  • ресурс: ваши настраиваемые данные.

Создание уникального идентификатора для элемента

Уникальный идентификатор — это отдельная строка, которая идентифицирует элемент в контейнере. Свойство id является единственным обязательным свойством при создании нового документа JSON. Например, этот документ JSON является допустимым элементом в Azure Cosmos DB.

{
  "id": "unique-string-2309509"
}

В области контейнера два элемента не могут совместно использовать один и тот же уникальный идентификатор.

Внимание

Свойство id чувствительно к регистру. Свойства с именем ID, Id, iD и _id будут рассматриваться как произвольное свойство JSON.

После создания URI для элемента будет имеет следующий формат.

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/docs/<item-resource-identifier>

При создании ссылки на элемент с использованием URI используйте системный идентификатор ресурса вместо поля id. Дополнительные сведения о свойствах элементов, автоматически создаваемых системой в Azure Cosmos DB для NoSQL, см. в разделе свойства элемента.

Создание элемента

Создайте элемент, используя объект items контейнера с методом create.

const { statusCode, item, resource, activityId, etag} = await container.items.create({ 
        id: '2', 
        category: 'gear-surf-surfboards',
        name: 'Sunnox Surfboard',
        quantity: 8,
        sale: true 
    });

Доступ к элементу

Доступ к элементу через объект Item . К этому можно получить доступ из объекта Container или изменить из объектов Database или CosmosClient.

// Chained, then use a method of the Item object such as `read`
const { statusCode, item, resource, activityId, etag} = await client.database(databaseId).container(containerId).item(itemId).read();

Доступ по объекту:

  • Элементы (множественное число): создание, пакетное создание, отслеживание потока изменений, чтение всех, вставка или изменение, или запрос элементов.
  • Элемент (сингулярный): чтение, исправление, замена или удаление элемента.

Замена элемента

Замените данные с помощью объекта Item методом replace.

const { statusCode, item, resource, activityId, etag} = await item.replace({ 
        id: '2', 
        category: 'gear-surf-surfboards-retro',
        name: 'Sunnox Surfboard Retro',
        quantity: 5,
        sale: false 
    });

Прочитайте элемент

Используйте метод read объекта Item для считывания самых актуальных данных.

const { statusCode, item, resource, activityId, etag} = await item.read();

Удаление элемента

Удалите элемент с помощью метода delete объекта Item.

const { statusCode, item, activityId, etag} = await item.delete();

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

Теперь, когда вы создали различные элементы, используйте следующее руководство, чтобы сделать запрос к элементам.