使用 JavaScript 在 Azure Cosmos DB for NoSQL 中创建容器
适用范围: NoSQL
Azure Cosmos DB 中的容器存储项集。 必须先创建容器,然后才能创建、查询或管理项。
为容器命名
在 Azure Cosmos DB 中,容器类似于关系数据库中的表。 创建容器时,容器名称构成用于访问容器资源和任何子项的 URI 段。
创建后,容器的 URI 采用以下格式:
https://<cosmos-account-name>.documents.azure.cn/dbs/<database-name>/colls/<container-name>
创建容器
- createIfNotExists - 如果不存在,则创建容器。 如果确实存在,则返回容器。
- 创建 - 创建容器。 如果确实存在,则返回错误 statusCode。
const containerName = 'myContainer';
// Possible results:
// Create then return container
// Return existing container
// Return error statusCode
const { statusCode, container } = await database.containers.createIfNotExists({ id: containerName });
// Possible results:
// Create then return container
// Return error statusCode, reason includes container already exists
const { statusCode, container} = await database.containers.create({ id: containerName });
statusCode 是 HTTP 响应代码。 成功的响应在 200-299 范围内。
访问容器
可以从容器对象直接访问容器,也可以从 CosmosClient 或数据库对象链接来访问容器。
const databaseName = 'myDb';
const containerName = 'myContainer';
// Chained - assumes database and container already exis
const { container, statusCode } = await client.database(databaseName).container(containerName);
// Direct - assumes database and container already exist
const { database, statusCode } = await client.database(databaseName);
if(statusCode < 400){
const { container, statusCode } = await database.container(containerName);
}
// Query - assumes database and container already exist
const { resources } = await client.database(databaseName).containers
.query({
query: `SELECT * FROM root r where r.id =@containerId`,
parameters: [
{
name: '@containerId',
value: containerName
}
]
})
.fetchAll();
按对象访问:
删除容器
const { statusCode } = await container.delete();
statusCode 是 HTTP 响应代码。 成功响应介于 200-299 范围内。
后续步骤
创建容器后,请使用下一个指南来创建项。