JavaScript を使用して Azure Cosmos DB for NoSQL にデータベースを作成する
適用対象: NoSQL
Azure Cosmos DB のデータベースは、1 つ以上のコンテナーの管理単位です。 コンテナーを作成または管理するには、まずデータベースを作成する必要があります。
データベースに名前を付ける
Azure Cosmos DB では、データベースは名前空間に似ています。 データベースを作成すると、データベース名は、データベース リソースと子リソースへのアクセスに使用される URI のセグメントを形成します。
作成されると、データベースの 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 の範囲です。
次のステップ
データベースを作成したので、次のガイドを使用してコンテナーを作成します。