次の方法で共有


JavaScript を使用して Azure Cosmos DB for NoSQL にデータベースを作成する

適用対象: NoSQL

Azure Cosmos DB のデータベースは、1 つ以上のコンテナーの管理単位です。 コンテナーを作成または管理するには、まずデータベースを作成する必要があります。

データベースに名前を付ける

Azure Cosmos DB では、データベースは名前空間に似ています。 データベースを作成すると、データベース名は、データベース リソースと子リソースへのアクセスに使用される URI のセグメントを形成します。

データベースに名前を付ける場合の簡単な規則を次に示します。

  • データベース名は 3 から 63 文字までの長さにする必要があります。
  • データベース名には、小文字、数字、ダッシュ文字のみを含めることができます。
  • データベース名は小文字または数字で始まる必要があります

作成されると、データベースの URI の形式は次のとおりです。

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

データベースを作成する

CosmosClient を作成したら、クライアントを使用して、次の 2 つの異なる呼び出しでデータベースを作成します。

  • createIfNotExists - データベースが存在しない場合に作成します。 存在する場合は、データベースを返します。
  • create - データベースを作成します。 存在する場合は、エラー statusCode を返します。
const databaseName = 'myDb';

// Possible results:
// Create then return database
// Return existing database
// Return error statusCode
const {statusCode, database } = await client.databases.createIfNotExists({ id: databaseName });

// Possible results: 
// Create then return database
// Return error statusCode, reason includes database already exists
const {statusCode, database } = await client.databases.create({ id: databaseName });

statusCode は HTTP 応答コードです。 正常な応答は 200 から 299 の範囲です。

データベースにアクセスする

データベースには、Database オブジェクトから直接アクセスするか、CosmosClient からのクエリ結果を使用してアクセスします。

const databaseName = 'myDb';

// Direct - assumes database already exists
const { database, statusCode } = await client.database(databaseName);

// Query - assumes database already exists   
const { resources } = await client.databases
.query({
    query: `SELECT * FROM root r where r.id =@dbId`,
    parameters: [
    {
        name: '@dbId',
        value: databaseName
    }
    ]
})
.fetchAll();

オブジェクトによるアクセス:

  • Databases (複数形): 新しいデータベースの作成、またはすべてのデータベースのクエリ/読み取りに使用されます。
  • Database (単数形): ID による既存のデータベースの読み取り、更新、または削除、あるいはそのデータベースに属するコンテナーへのアクセスに使用されます。

データベースの削除

Database オブジェクトを取得したら、その Database オブジェクトを使用してデータベースを削除できます。

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

statusCode は HTTP 応答コードです。 正常な応答は 200 から 299 の範囲です。

次のステップ

データベースを作成したので、次のガイドを使用してコンテナーを作成します。