ドキュメントの挿入
➤ 右上の [言語選択] ドロップダウンメニューを使用して、以下の例の言語を設定するか、MongoDB Compass を選択します。
このページでは、MongoDB の挿入操作の例を取り上げます。
次の方法を使用して、MongoDB にドキュメントを挿入できます。
プログラミング言語のドライバー。
MongoDB Atlas UI 。詳しくは、「MongoDB Atlas UI にドキュメントを挿入する」を参照してください。
注意
コレクションの作成
現在コレクションが存在しない場合は、挿入操作によってコレクションが作成されます。
MongoDB Atlas UI でのドキュメントの挿入
MongoDB Atlas UI にドキュメントを挿入するには、次の手順を実行します。MongoDB Atlas UI 内でドキュメントを操作する方法について詳しくは、「ドキュメントの作成、表示、更新、削除」を参照してください。
MongoDB Atlas UI で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
ドキュメントを追加します
[Insert Document] をクリックします。
{} アイコンをクリックすると、JSON ビューが開きます。
ドキュメント配列をテキスト入力フィールドに貼り付けます。たとえば、次のエントリでは 4 つのドキュメントが作成され、それぞれに 3 つのフィールドが含まれます。
[ { "prodId": 100, "price": 20, "quantity": 125 }, { "prodId": 101, "price": 10, "quantity": 234 }, { "prodId": 102, "price": 15, "quantity": 432 }, { "prodId": 103, "price": 17, "quantity": 320 } ]
単一ドキュメントのインサート
db.collection.insertOne()
は、コレクションに単一のドキュメントを挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、MongoDB は ObjectId 値を持つ_id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
MongoDB Compass を使用して単一のドキュメントを挿入するには、次の手順に従います。
ドキュメントを挿入するコレクションに移動します。
左側の MongoDB Compass ナビゲーション ウィンドウで、ターゲット コレクションが属するデータベースをクリックします。
データベースビューから、ターゲットコレクション名をクリックします。
Insert Documentボタンをクリックします。
ドキュメント内のフィールドごとに、フィールドタイプを選択し、フィールド名と値を入力します。フィールドを追加するには、最後の行番号をクリックした後、次をクリックします。 Add Field After ...
Object
タイプでネストされたフィールドを追加するには、最後のフィールドの番号をクリックしてAdd Field After ...を選択します。Array
型の場合、最後の要素の行番号をクリックし、 Add Array Element After ...を選択して、配列に要素を追加します。
すべてのフィールドに入力したら、[Insert] をクリックします。
次の例では、test.inventory
コレクションに新しいドキュメントを挿入します。
次の例では、新しいドキュメントをinventory
コレクションに挿入します。 ドキュメントに_id
フィールドが指定されていない場合、C ドライバーは ObjectId 値を持つ_id
フィールドを新しいドキュメントに追加します。 詳細については、「挿入動作 」を参照してください。
IMongoCollection.InsertOne() は単一のドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、C# ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
Collection.InsertOne は、 1 つ の ドキュメント をコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
com.mongodb.reactivestreams.client.MongoCollection.insertOne は、次のJava Reactive Streams ドライバーを使用して、1 つのドキュメントをコレクションに挿入します。
{ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
次の例では、上記のドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
com.mongodb.client.MongoCollection.insertOne は、1 つのドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
MongoCollection.insertOne は、 1 つ の ドキュメント をコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
motor.motor_asyncio.AsyncIOMotorCollection.insert_one
は、1 つのドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Motor ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
Collection.insertOne() は、1 つのドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Node.js ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
MongoDB::Collection::insert_one() は、1 つのドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Perl ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
MongoDB\\Collection::insertOne()
は、1 つのドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、PHP ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
pymongo.collection.Collection.insert_one
は、1 つのドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントをinventory
コレクションに挿入します。 ドキュメントに_id
フィールドが指定されていない場合、PyMongo ドライバーは ObjectId 値を持つ_id
フィールドを新しいドキュメントに追加します。 「挿入動作 」を参照してください。
Mongo::Collection#insert_one() は、コレクションに単一のドキュメントを挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Ruby ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
collection.insertOne() は、1 つのドキュメントをコレクションに挿入します。
次の例では、新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Scala ドライバーは ObjectId 値を持つ _id
フィールドを新しいドキュメントに追加します。「挿入動作」を参照してください。
db.inventory.insertOne( { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } )
mongoc_collection_t *collection; bson_t *doc; bool r; bson_error_t error; collection = mongoc_database_get_collection (db, "inventory"); doc = BCON_NEW ( "item", BCON_UTF8 ("canvas"), "qty", BCON_INT64 (100), "tags", "[", BCON_UTF8 ("cotton"), "]", "size", "{", "h", BCON_DOUBLE (28), "w", BCON_DOUBLE (35.5), "uom", BCON_UTF8 ("cm"), "}"); r = mongoc_collection_insert_one (collection, doc, NULL, NULL, &error); bson_destroy (doc); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; }
var document = new BsonDocument { { "item", "canvas" }, { "qty", 100 }, { "tags", new BsonArray { "cotton" } }, { "size", new BsonDocument { { "h", 28 }, { "w", 35.5 }, { "uom", "cm" } } } }; collection.InsertOne(document);
result, err := coll.InsertOne( context.TODO(), bson.D{ {"item", "canvas"}, {"qty", 100}, {"tags", bson.A{"cotton"}}, {"size", bson.D{ {"h", 28}, {"w", 35.5}, {"uom", "cm"}, }}, })
Document canvas = new Document("item", "canvas") .append("qty", 100) .append("tags", singletonList("cotton")); Document size = new Document("h", 28) .append("w", 35.5) .append("uom", "cm"); canvas.put("size", size); Publisher<Success> insertOnePublisher = collection.insertOne(canvas);
Document canvas = new Document("item", "canvas") .append("qty", 100) .append("tags", singletonList("cotton")); Document size = new Document("h", 28) .append("w", 35.5) .append("uom", "cm"); canvas.put("size", size); collection.insertOne(canvas);
result = collection.insertOne( Document("item", "canvas") .append("qty", 100) .append("tags", listOf("cotton")) .append("size", Document("h", 28) .append("w", 35.5) .append("uom", "cm") )
await db.inventory.insert_one( { "item": "canvas", "qty": 100, "tags": ["cotton"], "size": {"h": 28, "w": 35.5, "uom": "cm"}, } )
await db.collection('inventory').insertOne({ item: 'canvas', qty: 100, tags: ['cotton'], size: { h: 28, w: 35.5, uom: 'cm' } });
$db->coll("inventory")->insert_one( { item => "canvas", qty => 100, tags => ["cotton"], size => { h => 28, w => 35.5, uom => "cm" } } );
$insertOneResult = $db->inventory->insertOne([ 'item' => 'canvas', 'qty' => 100, 'tags' => ['cotton'], 'size' => ['h' => 28, 'w' => 35.5, 'uom' => 'cm'], ]);
db.inventory.insert_one( { "item": "canvas", "qty": 100, "tags": ["cotton"], "size": {"h": 28, "w": 35.5, "uom": "cm"}, } )
client[:inventory].insert_one({ item: 'canvas', qty: 100, tags: [ 'cotton' ], size: { h: 28, w: 35.5, uom: 'cm' } })
collection.insertOne( Document("item" -> "canvas", "qty" -> 100, "tags" -> Seq("cotton"), "size" -> Document("h" -> 28, "w" -> 35.5, "uom" -> "cm")) ).execute()
insertOne()
は、新しく挿入されたドキュメントの _id
フィールド値を含むドキュメントを返します。返されたドキュメントの例については、「db.collection.insertOne() リファレンス」を参照してください。
注意
MongoDB Compass は、_id
フィールドとその値を自動的に生成します。生成された ObjectId は、ランダムに生成された一意の 16 進値で構成されます。
この値は、ドキュメントが一意であり、有効なObjectId
である限り、ドキュメントを挿入する前に変更できます。 _id
フィールドの詳細については、「 _id フィールド 」を参照してください。
mongoc_collection_insert_one true
false
は、成功した場合は を返し、無効な引数またはサーバーまたはネットワーク エラーがある場合は を返し、 エラーを設定します。
Collection.InsertOne 関数は、 InsertOneResult のインスタンスを返します。なお、そのInsertedID
属性には、新しく挿入されたドキュメントの _id
が含まれます。
com.mongodb.reactivestreams.client.MongoCollection.insertOne 出版社 を返します オブジェクト。Publisher
は、サブスクライブ者がデータをリクエストするときにドキュメントをコレクションに挿入します。
com.mongodb.client.MongoCollection.insertOneが、InsertOneResult のインスタンスを返します。挿入されたドキュメントの _id
フィールドには、結果の getInsertedId() メソッドを呼び出すことでアクセスできます。
MongoCollection.insertOne が InsertOneResult のインスタンスを返します 。挿入されたドキュメントの_id
フィールドには、結果のinsertedId
フィールドにアクセスすることでアクセスできます。
insert_one
は、新しく挿入されたドキュメントの _id
をinserted_id
フィールドに持つ pymongo.results.InsertOneResult
インスタンスを返します。
insertOne() は、result
を提供する Promise を返します。result.insertedId
Promise には、新しく挿入されたドキュメントの _id
が含まれます。
正常に挿入が行われると、insert_one() メソッドは、MongoDB::InsertOneResult のインスタンスを返します。なお、その inserted_id
属性には、新しく挿入されたドキュメントの _id
が含まれます。
正常に挿入が行われると、 insertOne()
メソッドは MongoDB\\InsertOneResult
のインスタンスを返します。なお、その getInsertedId()
メソッドは、新しく挿入されたドキュメントの _id
を返します。
insert_one
は、新しく挿入されたドキュメントの _id
をinserted_id
フィールドに持つ pymongo.results.InsertOneResult
インスタンスを返します。
正常に挿入が行われると、insert_one() メソッドは、Mongo::Operation::Result のインスタンスを返します。なお、その inserted_id
属性には、新しく挿入されたドキュメントの _id
が含まれます。
正常に挿入が行われると、collection.insertOne()メソッドは、collection.insertOne().results() のインスタンスを返します。なお、その inserted_id
属性には、新しく挿入されたドキュメントの_id
が含まれます。
挿入したばかりのドキュメントを検索するには、コレクションをクエリします。
db.inventory.find( { item: "canvas" } )
MongoDB Compass クエリバーでフィルターを指定し、 Findをクリックしてクエリを実行します。
上記のフィルターで、MongoDB Compass がitem
フィールドがcanvas
に等しいドキュメントのみを返すように指定します。
MongoDB Compass クエリバーの詳細については、Compass クエリバーのドキュメントを参照してください。
mongoc_collection_t *collection; bson_t *filter; mongoc_cursor_t *cursor; collection = mongoc_database_get_collection (db, "inventory"); filter = BCON_NEW ("item", BCON_UTF8 ("canvas")); cursor = mongoc_collection_find_with_opts (collection, filter, NULL, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("item", "canvas"); var result = collection.Find(filter).ToList();
cursor, err := coll.Find( context.TODO(), bson.D{{"item", "canvas"}}, )
FindPublisher<Document> findPublisher = collection.find(eq("item", "canvas"));
FindIterable<Document> findIterable = collection.find(eq("item", "canvas"));
val flowInsertOne = collection .find(eq("item", "canvas")) .firstOrNull()
cursor = db.inventory.find({"item": "canvas"})
const cursor = db.collection('inventory').find({ item: 'canvas' });
$cursor = $db->coll("inventory")->find( { item => "canvas" } );
$cursor = $db->inventory->find(['item' => 'canvas']);
cursor = db.inventory.find({"item": "canvas"})
client[:inventory].find(item: 'canvas')
val observable = collection.find(equal("item", "canvas"))
複数のドキュメントの挿入
db.collection.insertMany()
は、複数のドキュメントをコレクションに挿入できます。ドキュメントの配列をメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、MongoDB は ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。「挿入動作」を参照してください。
mongoc_bulk_operation_insert_with_opts はコレクションに 複数の ドキュメント を挿入します。ドキュメントのイテラブルをメソッドに渡す必要があります。
次の例では、3 つの新しいドキュメントをinventory
コレクションに挿入します。 ドキュメントに_id
フィールドが指定されていない場合、C ドライバーは ObjectId 値を持つ_id
フィールドを各ドキュメントに追加します。 「挿入動作 」を参照してください。
IMongoCollection.InsertMany() は、複数のドキュメント をコレクションに挿入できます。ドキュメントの列挙可能なコレクションをメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントで _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
Collection.InsertMany は複数の ドキュメントをコレクションに挿入できます。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントで _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
com.mongodb.reactivestreams.client.MongoCollection.html.insertMany は、 Java Reactive Streams ドライバー を使用して次のドキュメントを挿入します :
{ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } } { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } } { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントで _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
com.mongodb.client.MongoCollection.insertManyは、複数のドキュメントをコレクションに挿入できます。ドキュメントのリストをメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントで _id
フィールドが指定されていない場合、ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
MongoCollection.insertMany はコレクションに 複数の ドキュメント を挿入します。ドキュメントのリストを メソッドのパラメーターとして渡します。
次の例では、3 つの新しいドキュメントをinventory
コレクションに挿入します。 ドキュメントで_id
フィールドが指定されていない場合、ドライバーは ObjectId 値を各ドキュメントに追加します。 「挿入動作 」を参照してください。
motor.motor_asyncio.AsyncIOMotorCollection.insert_many
は、複数のドキュメントをコレクションに挿入できます。ドキュメントのイテラブルをメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントで _id
フィールドが指定されていない場合、PyMongo ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
Collection.insertMany() は、複数のドキュメントをコレクションに挿入できます。ドキュメントの配列をメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Node.js ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。「挿入動作」を参照してください。
MongoDB::Collection::insert_many() は、複数のドキュメントをコレクションに挿入できます。ドキュメントの配列リファレンスをメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Perl ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。「挿入動作」を参照してください。
MongoDB\\Collection::insertMany()
は、複数のドキュメントをコレクションに挿入できます。ドキュメントの配列をメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、PHP ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。「挿入動作」を参照してください。
pymongo.collection.Collection.insert_many
は、複数のドキュメントをコレクションに挿入できます。ドキュメントのイテラブルをメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントで _id
フィールドが指定されていない場合、PyMongo ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
Mongo::Collection#insert_many() は、複数のドキュメントをコレクションに挿入できます。ドキュメントの配列をメソッドに渡します。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントで _id
フィールドが指定されていない場合、Ruby ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。挿入動作を参照してください。
collection.insertMany() は、複数のドキュメントをコレクションに挿入できます。
次の例では、3 つの新しいドキュメントを inventory
コレクションに挿入します。ドキュメントに _id
フィールドが指定されていない場合、Scala ドライバーは ObjectId 値を持つ _id
フィールドを各ドキュメントに追加します。「挿入動作」を参照してください。
db.inventory.insertMany([ { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } }, { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } }, { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } } ])
[ { "item": "canvas", "qty": 100, "size": { "h": 28, "w": 35.5, "uom": "cm" }, "status": "A" }, { "item": "journal", "qty": 25, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" }, { "item": "mat", "qty": 85, "size": { "h": 27.9, "w": 35.5, "uom": "cm" }, "status": "A" }, { "item": "mousepad", "qty": 25, "size": { "h": 19, "w": 22.85, "uom": "cm" }, "status": "P" }, { "item": "notebook", "qty": 50, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "P" }, { "item": "paper", "qty": 100, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "D" }, { "item": "planner", "qty": 75, "size": { "h": 22.85, "w": 30, "uom": "cm" }, "status": "D" }, { "item": "postcard", "qty": 45, "size": { "h": 10, "w": 15.25, "uom": "cm" }, "status": "A" }, { "item": "sketchbook", "qty": 80, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" }, { "item": "sketch pad", "qty": 95, "size": { "h": 22.85, "w": 30.5, "uom": "cm" }, "status": "A" } ]
MongoDB Compass を使用してドキュメントを挿入する手順については、「ドキュメントの挿入」を参照してください。
mongoc_collection_t *collection; mongoc_bulk_operation_t *bulk; bson_t *doc; bool r; bson_error_t error; bson_t reply; collection = mongoc_database_get_collection (db, "inventory"); bulk = mongoc_collection_create_bulk_operation_with_opts (collection, NULL); doc = BCON_NEW ( "item", BCON_UTF8 ("journal"), "qty", BCON_INT64 (25), "tags", "[", BCON_UTF8 ("blank"), BCON_UTF8 ("red"), "]", "size", "{", "h", BCON_DOUBLE (14), "w", BCON_DOUBLE (21), "uom", BCON_UTF8 ("cm"), "}"); r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error); bson_destroy (doc); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; } doc = BCON_NEW ( "item", BCON_UTF8 ("mat"), "qty", BCON_INT64 (85), "tags", "[", BCON_UTF8 ("gray"), "]", "size", "{", "h", BCON_DOUBLE (27.9), "w", BCON_DOUBLE (35.5), "uom", BCON_UTF8 ("cm"), "}"); r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error); bson_destroy (doc); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; } doc = BCON_NEW ( "item", BCON_UTF8 ("mousepad"), "qty", BCON_INT64 (25), "tags", "[", BCON_UTF8 ("gel"), BCON_UTF8 ("blue"), "]", "size", "{", "h", BCON_DOUBLE (19), "w", BCON_DOUBLE (22.85), "uom", BCON_UTF8 ("cm"), "}"); r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error); bson_destroy (doc); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; } /* "reply" is initialized on success or error */ r = (bool) mongoc_bulk_operation_execute (bulk, &reply, &error); if (!r) { MONGOC_ERROR ("%s\n", error.message); }
var documents = new BsonDocument[] { new BsonDocument { { "item", "journal" }, { "qty", 25 }, { "tags", new BsonArray { "blank", "red" } }, { "size", new BsonDocument { { "h", 14 }, { "w", 21 }, { "uom", "cm"} } } }, new BsonDocument { { "item", "mat" }, { "qty", 85 }, { "tags", new BsonArray { "gray" } }, { "size", new BsonDocument { { "h", 27.9 }, { "w", 35.5 }, { "uom", "cm"} } } }, new BsonDocument { { "item", "mousepad" }, { "qty", 25 }, { "tags", new BsonArray { "gel", "blue" } }, { "size", new BsonDocument { { "h", 19 }, { "w", 22.85 }, { "uom", "cm"} } } }, }; collection.InsertMany(documents);
result, err := coll.InsertMany( context.TODO(), []interface{}{ bson.D{ {"item", "journal"}, {"qty", int32(25)}, {"tags", bson.A{"blank", "red"}}, {"size", bson.D{ {"h", 14}, {"w", 21}, {"uom", "cm"}, }}, }, bson.D{ {"item", "mat"}, {"qty", int32(25)}, {"tags", bson.A{"gray"}}, {"size", bson.D{ {"h", 27.9}, {"w", 35.5}, {"uom", "cm"}, }}, }, bson.D{ {"item", "mousepad"}, {"qty", 25}, {"tags", bson.A{"gel", "blue"}}, {"size", bson.D{ {"h", 19}, {"w", 22.85}, {"uom", "cm"}, }}, }, })
Document journal = new Document("item", "journal") .append("qty", 25) .append("tags", asList("blank", "red")); Document journalSize = new Document("h", 14) .append("w", 21) .append("uom", "cm"); journal.put("size", journalSize); Document mat = new Document("item", "mat") .append("qty", 85) .append("tags", singletonList("gray")); Document matSize = new Document("h", 27.9) .append("w", 35.5) .append("uom", "cm"); mat.put("size", matSize); Document mousePad = new Document("item", "mousePad") .append("qty", 25) .append("tags", asList("gel", "blue")); Document mousePadSize = new Document("h", 19) .append("w", 22.85) .append("uom", "cm"); mousePad.put("size", mousePadSize); Publisher<Success> insertManyPublisher = collection.insertMany(asList(journal, mat, mousePad));
Document journal = new Document("item", "journal") .append("qty", 25) .append("tags", asList("blank", "red")); Document journalSize = new Document("h", 14) .append("w", 21) .append("uom", "cm"); journal.put("size", journalSize); Document mat = new Document("item", "mat") .append("qty", 85) .append("tags", singletonList("gray")); Document matSize = new Document("h", 27.9) .append("w", 35.5) .append("uom", "cm"); mat.put("size", matSize); Document mousePad = new Document("item", "mousePad") .append("qty", 25) .append("tags", asList("gel", "blue")); Document mousePadSize = new Document("h", 19) .append("w", 22.85) .append("uom", "cm"); mousePad.put("size", mousePadSize); collection.insertMany(asList(journal, mat, mousePad));
results = collection.insertMany( listOf( Document("item", "journal") .append("qty", 25) .append("tags", listOf("blank", "red")) .append("size", Document("h", 14) .append("w", 21) .append("uom", "cm") ), Document("item", "mat") .append("qty", 25) .append("tags", listOf("gray")) .append("size", Document("h", 27.9) .append("w", 35.5) .append("uom", "cm") ), Document("item", "mousepad") .append("qty", 25) .append("tags", listOf("gel", "blue")) .append("size", Document("h", 19) .append("w", 22.85) .append("uom", "cm") ) )
await db.inventory.insert_many( [ { "item": "journal", "qty": 25, "tags": ["blank", "red"], "size": {"h": 14, "w": 21, "uom": "cm"}, }, { "item": "mat", "qty": 85, "tags": ["gray"], "size": {"h": 27.9, "w": 35.5, "uom": "cm"}, }, { "item": "mousepad", "qty": 25, "tags": ["gel", "blue"], "size": {"h": 19, "w": 22.85, "uom": "cm"}, }, ] )
await db.collection('inventory').insertMany([ { item: 'journal', qty: 25, tags: ['blank', 'red'], size: { h: 14, w: 21, uom: 'cm' } }, { item: 'mat', qty: 85, tags: ['gray'], size: { h: 27.9, w: 35.5, uom: 'cm' } }, { item: 'mousepad', qty: 25, tags: ['gel', 'blue'], size: { h: 19, w: 22.85, uom: 'cm' } } ]);
$db->coll("inventory")->insert_many( [ { item => "journal", qty => 25, tags => [ "blank", "red" ], size => { h => 14, w => 21, uom => "cm" } }, { item => "mat", qty => 85, tags => ["gray"], size => { h => 27.9, w => 35.5, uom => "cm" } }, { item => "mousepad", qty => 25, tags => [ "gel", "blue" ], size => { h => 19, w => 22.85, uom => "cm" } } ] );
$insertManyResult = $db->inventory->insertMany([ [ 'item' => 'journal', 'qty' => 25, 'tags' => ['blank', 'red'], 'size' => ['h' => 14, 'w' => 21, 'uom' => 'cm'], ], [ 'item' => 'mat', 'qty' => 85, 'tags' => ['gray'], 'size' => ['h' => 27.9, 'w' => 35.5, 'uom' => 'cm'], ], [ 'item' => 'mousepad', 'qty' => 25, 'tags' => ['gel', 'blue'], 'size' => ['h' => 19, 'w' => 22.85, 'uom' => 'cm'], ], ]);
db.inventory.insert_many( [ { "item": "journal", "qty": 25, "tags": ["blank", "red"], "size": {"h": 14, "w": 21, "uom": "cm"}, }, { "item": "mat", "qty": 85, "tags": ["gray"], "size": {"h": 27.9, "w": 35.5, "uom": "cm"}, }, { "item": "mousepad", "qty": 25, "tags": ["gel", "blue"], "size": {"h": 19, "w": 22.85, "uom": "cm"}, }, ] )
client[:inventory].insert_many([{ item: 'journal', qty: 25, tags: ['blank', 'red'], size: { h: 14, w: 21, uom: 'cm' } }, { item: 'mat', qty: 85, tags: ['gray'], size: { h: 27.9, w: 35.5, uom: 'cm' } }, { item: 'mousepad', qty: 25, tags: ['gel', 'blue'], size: { h: 19, w: 22.85, uom: 'cm' } } ])
collection.insertMany(Seq( Document("item" -> "journal", "qty" -> 25, "tags" -> Seq("blank", "red"), "size" -> Document("h" -> 14, "w" -> 21, "uom" -> "cm")), Document("item" -> "mat", "qty" -> 85, "tags" -> Seq("gray"), "size" -> Document("h" -> 27.9, "w" -> 35.5, "uom" -> "cm")), Document("item" -> "mousepad", "qty" -> 25, "tags" -> Seq("gel", "blue"), "size" -> Document("h" -> 19, "w" -> 22.85, "uom" -> "cm")) )).execute()
insertMany()
は、新しく挿入されたドキュメントの _id
フィールド値を含むドキュメントを返します。例については、リファレンスを参照してください。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
mongoc_bulk_operation_insert_with_opts true
は、成功した場合はfalse
を返し、無効な引数が渡された場合は を返します。
挿入されたドキュメントを検索するには、 mongoc_collection_find_with_opts を使用します コレクションをクエリするには、次の ようにします。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
com.mongodb.reactivestreams.client.MongoCollection.html.insertMany 出版社 を返します オブジェクト。Publisher
は、サブスクライブ者がデータをリクエストするときにドキュメントをコレクションに挿入します。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
MongoCollection.insertMany() はInsertManyResult
インスタンスを返します。InsertManyResult
のinsertedIds
フィールドには、挿入されたドキュメントの_id
値が含まれます。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
insert_many
pymongo.results.InsertManyResult
inserted_ids
は_id
のインスタンスを返します の フィールドは、新しく挿入された各ドキュメントの を含むリストです。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
insertMany() は、result
を提供する Promise を返します。result.insertedIds
フィールドには、新しく挿入された各ドキュメントの_id
を持つ配列が含まれます。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
正常に挿入が行われると、insert_many() メソッドは、MongoDB::InsertManyResult のインスタンスを返します。なお、その inserted_ids
属性は、新しく挿入された各ドキュメントの _id
を含むリストです。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
正常に挿入が行われると、 insertMany()
メソッドは MongoDB\\InsertManyResult
のインスタンスを返します。なお、その getInsertedIds()
メソッドは、新しく挿入された各ドキュメントの _id
を返します。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
insert_many
pymongo.results.InsertManyResult
inserted_ids
は_id
のインスタンスを返します の フィールドは、新しく挿入された各ドキュメントの を含むリストです。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
正常に挿入が行われると、insert_many() メソッドは、Mongo::BulkWrite::Result のインスタンスを返します。なお、その inserted_ids
属性は、新しく挿入された各ドキュメントの _id
を含むリストです。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
正常に挿入が行われると、insertMany() メソッドは、操作が完了したときを表す型パラメーター、または com.mongodb.DuplicateKeyException
もしくは com.mongodb.MongoException
のいずれかを持つ Observable を返します。
挿入されたドキュメントを検索するには、次のようにコレクションをクエリします。
db.inventory.find( {} )
mongoc_collection_t *collection; bson_t *filter; mongoc_cursor_t *cursor; collection = mongoc_database_get_collection (db, "inventory"); filter = BCON_NEW (NULL); cursor = mongoc_collection_find_with_opts (collection, filter, NULL, NULL);
必要に応じて、次のメソッドを呼び出して、開いているリソースもクリーンアップするようにします。
var filter = Builders<BsonDocument>.Filter.Empty; var result = collection.Find(filter).ToList();
cursor, err := coll.Find( context.TODO(), bson.D{}, )
FindPublisher<Document> findPublisher = collection.find(new Document());
FindIterable<Document> findIterable = collection.find(new Document());
val flowInsertMany = collection .find(empty())
cursor = db.inventory.find({})
const cursor = db.collection('inventory').find({});
$cursor = $db->coll("inventory")->find( {} );
$cursor = $db->inventory->find([]);
cursor = db.inventory.find({})
client[:inventory].find({})
var findObservable = collection.find(Document())
挿入動作
コレクションの作成
現在コレクションが存在しない場合は、挿入操作によってコレクションが作成されます。
_id
フィールド
MongoDB では、コレクション内に保存される各ドキュメントにはプライマリキーとして機能するユニークな _id フィールドが必要です。挿入されたドキュメントで _id
フィールドが省略されている場合、MongoDB ドライバーが _id
フィールドの ObjectId を自動的に生成します。
上記は、アップサート: true に設定した更新操作を通じて挿入されるドキュメントにも適用されます。
アトミック性
MongoDB のすべての書込み (write) 操作は、単一のドキュメントのレベルでアトミックです。MongoDB とアトミック性の詳細については、「原子性とトランザクション」を参照してください。
書込み (write) 確認応答
書込み保証 (write concern) では、書込み操作に対して MongoDB から要求される確認応答のレベルを指定できます。詳細については、「書込み保証 (write concern)」を参照してください。