Azure Cosmos DB の項目は、コンテナー内に格納されている特定のエンティティを表します。 NoSQL 用 API では、項目は一意の識別子を含む JSON 形式のデータから成ります。
項目、項目定義、および項目の応答
JavaScript SDK では、項目に関連する 3 つのオブジェクトの目的が異なります。
| 名前 | オペレーション |
|---|---|
| アイテム | 読み取り、修正プログラム、置換、削除などの機能。 |
| ItemDefinition | カスタム データ オブジェクト。
idプロパティとttlプロパティが自動的に含まれます。 |
| ItemResponse |
statusCode、item、およびその他のプロパティが含まれます。 |
操作の結果を理解するには、 ItemResponse オブジェクトのプロパティを使用します。
- statusCode: HTTP 状態コード。 正常な応答は 200 から 299 の範囲です。
- activityId: 作成、読み取り、置換、削除などの操作の一意識別子。
- etag: データに関連付けられているエンティティ タグ。 オプティミスティック コンカレンシー、キャッシュ、および条件付き要求に使用します。
- item: 読み取り、置換、削除などの操作を実行するために使用される Item オブジェクト。
- リソース: カスタム データ。
項目の一意識別子を作成する
一意識別子は、コンテナー内の項目を識別する個別の文字列です。
id プロパティは、新しい JSON ドキュメントを作成するときに必要な唯一のプロパティです。 たとえば、次の JSON ドキュメントは Azure Cosmos DB の有効な項目です。
{
"id": "unique-string-2309509"
}
1 つのコンテナーのスコープ内で 2 つの項目が同じ一意識別子を共有することはできません。
Important
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();
オブジェクトによるアクセス:
- 項目 (複数形): 作成、バッチ、変更フィードの監視、すべて読み取り、アップサート、または項目のクエリ実行。
- 項目 (単数形): アイテムの読み取り、修正プログラムの適用、置換、または削除を行います。
アイテムを置き換える
データを Item オブジェクトに 置き換え、replace メソッドを使用します。
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();
次のステップ
さまざまな項目を作成したので、次のガイドを使用して項目のクエリを実行します。