Share via


使用 JavaScript 在 Azure Cosmos DB for NoSQL 中建立容器

適用於:NoSQL

Azure Cosmos DB 中的容器會儲存項目集合。 您必須先建立容器,才能建立、查詢或管理項目。

命名容器

在 Azure Cosmos DB 中,容器類似於關聯式資料庫中的資料表。 當您建立容器時,容器名稱會成為存取容器資源和任何子資源的 URI 區段。

以下是命名容器時的一些快速規則:

  • 容器名稱長度應為 3 到 63 個字元
  • 容器名稱只能包含小寫字母、數字或虛線 (-) 字元。
  • 容器名稱必須以小寫字母或數字開頭。

建立之後,容器的 URI 格式如下:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>

建立容器

取得 Database 物件,然後建立 Container

  • createIfNotExists - 如果容器不存在,則建立容器。 如果確實存在,則傳回容器。
  • create - 建立容器。 如果確實存在,則傳回錯誤 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 範圍內。

存取容器

容器可以從 Container 物件直接存取,或從 CosmosClientDatabase 物件進行鏈結。

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();

透過物件存取:

  • Containers (複數):建立或查詢容器。
  • Container (單數):刪除容器,使用項目。

刪除容器

取得 Container 物件之後,您可以使用 Container 物件來刪除容器:

const { statusCode } = await container.delete();

statusCode 是 HTTP 回應碼。 成功的回應是在 200-299 範圍內。

下一步

現在您已建立了容器,請使用下一個指南來建立項目。