JavaScript を使用して Azure Cosmos DB for NoSQL の項目を作成する
適用対象: NoSQL
Azure Cosmos DB 内の項目は、コンテナー内に格納されている特定のエンティティを表します。 NoSQL 用 API では、項目は一意の識別子を含む JSON 形式のデータから成ります。
項目、項目定義、項目応答
JavaScript SDK では、項目に関連する 3 つのオブジェクトがあり、それぞれ目的が異なります。
名前 | Operations |
---|---|
Item | 読み取り、パッチ適用、置換、削除などの機能。 |
ItemDefinition | カスタム データ オブジェクト。 id と ttl のプロパティが自動的に含まれます。 |
ItemResponse | statusCode 、item 、およびその他のプロパティが含まれます。 |
ItemResponse オブジェクトのプロパティを使用して、操作の結果を把握します。
- statusCode: HTTP 状態コード。 正常な応答は 200 から 299 の範囲です。
- activityId: 作成、読み取り、置換、削除などの操作の一意識別子。
- etag: データに関連付けられたエンティティ タグ。 オプティミスティック同時実行制御、キャッシュ、条件付き要求に使用します。
- item: 読み取り、置換、削除などの操作を実行するために使用される Item オブジェクト。
- resource: カスタム データ。
項目の一意識別子を作成する
一意識別子は、コンテナー内の項目を識別する個別の文字列です。 id
プロパティが、新しい JSON ドキュメントを作成するときに必要な唯一のプロパティです。 たとえば、次の JSON ドキュメントは Azure Cosmos DB で有効な項目です。
{
"id": "unique-string-2309509"
}
1 つのコンテナーのスコープ内で 2 つの項目が同じ一意識別子を共有することはできません。
重要
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 内のシステムによって生成された項目プロパティの詳細については、「項目のプロパティ」参照してください
項目を作成する
create メソッドを使用して、コンテナーの items オブジェクトを含む項目を作成します。
const { statusCode, item, resource, activityId, etag} = await container.items.create({
id: '2',
category: 'gear-surf-surfboards',
name: 'Sunnox Surfboard',
quantity: 8,
sale: true
});
項目にアクセスする
Item オブジェクトを使用して項目にアクセスします。 これは Container オブジェクトからアクセスすることも、Database オブジェクトまたは 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();
オブジェクトによるアクセス:
項目を置換する
replace メソッドを使用して、データを Item オブジェクトに置き換えます。
const { statusCode, item, resource, activityId, etag} = await item.replace({
id: '2',
category: 'gear-surf-surfboards-retro',
name: 'Sunnox Surfboard Retro',
quantity: 5,
sale: false
});
項目を読み取る
Item オブジェクトの read メソッドを使用して、最新のデータを読み取ります。
const { statusCode, item, resource, activityId, etag} = await item.read();
項目を削除する
Item オブジェクトの delete メソッドを使用して、項目を削除します。
const { statusCode, item, activityId, etag} = await item.delete();
次のステップ
さまざまな項目を作成したので、次のガイドを参考にして項目にクエリを実行します。