你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Cosmos DB 中的项表示存储在容器中的特定实体。 在 API for NoSQL 中,项由具有唯一标识符的 JSON 格式数据组成。
项、项定义和项响应
在 JavaScript SDK 中,与项相关的三个对象具有不同的用途。
| Name | Operations |
|---|---|
| 物品 | 包括 读取、 修补、 替换、 删除等功能。 |
| ItemDefinition | 自定义数据对象。 自动包括 id 和 ttl 属性。 |
| ItemResponse | 包括 statusCode、 item和其他属性。 |
使用 ItemResponse 对象的属性来了解作的结果。
- statusCode:HTTP 状态代码。 成功的响应在 200-299 范围内。
- activityId :操作的唯一标识符,例如创建、读取、替换或删除。
- etag:与数据关联的实体标记。 用于乐观并发、缓存和条件请求。
- item:用于执行读取、替换、删除等作的 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 for 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 对象访问项。 这可以从 容器 对象访问,也可以从 数据库 或 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();
后续步骤
创建了各种项目后,请使用下一个指南来查询项目。