使用 JavaScript 在 Azure Cosmos DB for NoSQL 中创建项
适用范围: NoSQL
Azure Cosmos DB 中的项表示存储在容器中的特定实体。 在 API for NoSQL 中,项由具有唯一标识符的 JSON 格式数据组成。
项、项定义和项响应
在 JavaScript SDK 中,与项相关的三个队形具有不同的用途。
名称 | Operations |
---|---|
项目 | 功能包括读取、修补、替换、删除。 |
ItemDefinition | 自定义数据对象。 自动包括 id 和 ttl 属性。 |
ItemResponse | 包括 statusCode 、item 和其他属性。 |
使用 ItemResponse 对象的属性来了解操作的结果。
- statusCode:HTTP 状态代码。 成功响应介于 200-299 范围内。
- activityId:创建、读取、替换或删除等操作的唯一标识符。
- etag:与数据相关的实体标记。 用于乐观并发、缓存和条件请求。
- item:用于执行读取、替换、删除等操作的 Item 对象。
- resource:自定义数据。
为项创建唯一标识符
唯一标识符是标识容器中的项的不同字符串。 id
属性是创建新 JSON 文档时唯一必需的属性。 例如,此 JSON 文档是 Azure Cosmos DB 中的有效项:
{
"id": "unique-string-2309509"
}
在容器范围内,两个项不能共享同一个唯一标识符。
重要
id
属性区分大小写。 名为 ID
、Id
、iD
和 _id
的属性将被视为任意 JSON 属性。
创建后,项的 URI 采用以下格式:
https://<cosmos-account-name>.documents.azure.cn/dbs/<database-name>/docs/<item-resource-identifier>
使用 URI 引用项时,请使用系统生成的资源标识符而不是 id
字段。 有关 Azure Cosmos DB for NoSQL 中系统生成的项属性的详细信息,请参阅项的属性
创建项
使用 create 方法创建包含容器的 items 对象的项。
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();
按对象访问:
替换项
const { statusCode, item, resource, activityId, etag} = await item.replace({
id: '2',
category: 'gear-surf-surfboards-retro',
name: 'Sunnox Surfboard Retro',
quantity: 5,
sale: false
});
读取项
const { statusCode, item, resource, activityId, etag} = await item.read();
删除项
const { statusCode, item, activityId, etag} = await item.delete();
后续步骤
现在你已创建各种项,请使用下一个指南查询项。