Cosmos DB for MongoDB へのデータの挿入

Important

既存の MongoDB アプリケーションを移行するか、MongoDB クエリ言語 (MQL) 機能を使用しますか? Azure DocumentDB について考えてみましょう。

99.999% 可用性サービス レベル アグリーメント (SLA)、インスタント 自動スケール、および複数のリージョン間の自動フェールオーバーを使用した 大規模 なシナリオ向けのデータベース ソリューションをお探しですか? [c0]NoSQL 用に Azure Cosmos DB を検討してください。[c0]

最も基本的な操作の 1 つは、コレクションにデータを挿入することです。 このガイドでは、Mongo シェル (Mongosh) を使用したデータの挿入について理解する必要があることをすべて説明します。

1 つのドキュメントの挿入

MongoDB にデータを挿入する最も基本的な方法は、1 つのドキュメントを挿入することです。 これを行うには、db.collection.insertOne() メソッドを使用します。 insertOne() メソッドは、引数として 1 つのドキュメントを受け取り、指定したコレクションに挿入します。 このメソッドの使用方法の例を次に示します。

db.myCollection.insertOne({
  name: "John Smith",
  age: 30,
  address: "123 Main St"
});

この例では、"name"、"age"、"address" のフィールドを含むドキュメントを "myCollection" コレクションに挿入しています。 コマンドが実行されると、出力に acknowledged: true と insertedId: ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f") が表示されます。ここで、insertedId は、挿入されたドキュメントに対して MongoDB によって生成された一意の識別子です。

複数のドキュメントの挿入

多くの場合、複数のドキュメントを一度に挿入する必要があります。 これを行うには、db.collection.insertMany() メソッドを使用します。 insertMany() メソッドは、引数としてドキュメントの配列を受け取り、指定したコレクションに挿入します。 次に例を示します。

db.myCollection.insertMany([
  {name: "Jane Doe", age: 25, address: "456 Park Ave"},
  {name: "Bob Smith", age: 35, address: "789 Elm St"},
  {name: "Sally Johnson", age: 40, address: "111 Oak St"}
]);

この例では、"myCollection" コレクションに 3 つのドキュメントを挿入しています。 各ドキュメントには、前の例と同じフィールドの "name"、"age"、"address" があります。 insertMany() メソッドは、acknowledged: true と insertedIds: [ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f"), ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f"), ObjectId("5f5d5f5f5f5f5f5f5f5f5f5f")] を返します。insertedIds は、挿入された各ドキュメントに対して MongoDB によって生成される一意の識別子の配列です。

オプションを使用した挿入

insertOne() と insertMany() はどちらも、省略可能な 2 番目の引数を受け取ります。これは、挿入操作のオプションを指定するために使用できます。 たとえば、"ordered" オプションを false に設定するには、次のコードを使用します。

db.myCollection.insertMany([
  {name: "Jane Doe", age: 25, address: "456 Park Ave"},
  {name: "Bob Smith", age: 35, address: "789 Elm St"},
  {name: "Sally Johnson", age: 40, address: "111 Oak St"}
], {ordered: false});

これは、順序付けなしでドキュメントを挿入するよう MongoDB に指示します。つまり、1 つのドキュメントの挿入に失敗した場合、次のものに続みます。 これは、Cosmos DB for MongoDB の書き込みパフォーマンス向上のためにお勧めです

次のステップ