次の方法で共有


JavaScript を使用して Azure Cosmos DB for NoSQL で項目を作成する

Azure Cosmos DB の項目は、コンテナー内に格納されている特定のエンティティを表します。 NoSQL 用 API では、項目は一意の識別子を含む JSON 形式のデータから成ります。

項目、項目定義、および項目の応答

JavaScript SDK では、項目に関連する 3 つのオブジェクトの目的が異なります。

名前 オペレーション
アイテム 読み取り修正プログラム置換削除などの機能。
ItemDefinition カスタム データ オブジェクト。 idプロパティとttlプロパティが自動的に含まれます。
ItemResponse statusCodeitem、およびその他のプロパティが含まれます。

操作の結果を理解するには、 ItemResponse オブジェクトのプロパティを使用します。

  • statusCode: HTTP 状態コード。 正常な応答は 200 から 299 の範囲です。
  • activityId: 作成、読み取り、置換、削除などの操作の一意識別子。
  • etag: データに関連付けられているエンティティ タグ。 オプティミスティック コンカレンシー、キャッシュ、および条件付き要求に使用します。
  • item: 読み取り、置換、削除などの操作を実行するために使用される Item オブジェクト。
  • リソース: カスタム データ。

項目の一意識別子を作成する

一意識別子は、コンテナー内の項目を識別する個別の文字列です。 id プロパティは、新しい JSON ドキュメントを作成するときに必要な唯一のプロパティです。 たとえば、次の JSON ドキュメントは Azure Cosmos DB の有効な項目です。

{
  "id": "unique-string-2309509"
}

1 つのコンテナーのスコープ内で 2 つの項目が同じ一意識別子を共有することはできません。

Important

id プロパティでは、大文字と小文字が区別されます。 IDIdiD、および_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();

次のステップ

さまざまな項目を作成したので、次のガイドを使用して項目のクエリを実行します。