次の使用を使用してドキュメントを更新できます。
プログラミング言語のドライバー。
➤ 右上の言語の選択ドロップダウンメニューを使用して、以下の例の言語を設定します。
このページでは、次の mongosh メソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは MongoDB Compass を使用してドキュメントをアップデートします。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次のMongoDB Cドライバー メソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次の MongoDB C# ドライバーメソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次のMongoDB Go ドライバー関数を使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次のJava Reactive Streams ドライバー メソッドを使用します。
com.mongodb.reactivestreams.client.MongoCollection.updateOne
com.mongodb.reactivestreams.client.MongoCollection.updateMany
com.mongodb.reactivestreams.client.MongoCollection.replaceOne
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次のJava同期ドライバー メソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次のKotlin コルーチン ドライバーメソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次の Motor ドライバー メソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次の MongoDB Node.jsドライバー メソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次の MongoDB PHP ライブラリメソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次のPyMongo Pythonドライバー メソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次の MongoDB Ruby ドライバーメソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
このページでは、次の MongoDB Scalaドライバーメソッドを使用します。
例では inventory コレクションを使用しています。MongoDB インスタンスのテスト データベースに接続し、inventory コレクションを作成します。
db.inventory.insertMany( [ { 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" } ] );
[ { "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 ("canvas"), "qty", BCON_INT64 (100), "size", "{", "h", BCON_DOUBLE (28), "w", BCON_DOUBLE (35.5), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("A")); 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 ("journal"), "qty", BCON_INT64 (25), "size", "{", "h", BCON_DOUBLE (14), "w", BCON_DOUBLE (21), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("A")); 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), "size", "{", "h", BCON_DOUBLE (27.9), "w", BCON_DOUBLE (35.5), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("A")); 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), "size", "{", "h", BCON_DOUBLE (19), "w", BCON_DOUBLE (22.85), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("P")); 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 ("notebook"), "qty", BCON_INT64 (50), "size", "{", "h", BCON_DOUBLE (8.5), "w", BCON_DOUBLE (11), "uom", BCON_UTF8 ("in"), "}", "status", BCON_UTF8 ("P")); 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 ("paper"), "qty", BCON_INT64 (100), "size", "{", "h", BCON_DOUBLE (8.5), "w", BCON_DOUBLE (11), "uom", BCON_UTF8 ("in"), "}", "status", BCON_UTF8 ("D")); 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 ("planner"), "qty", BCON_INT64 (75), "size", "{", "h", BCON_DOUBLE (22.85), "w", BCON_DOUBLE (30), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("D")); 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 ("postcard"), "qty", BCON_INT64 (45), "size", "{", "h", BCON_DOUBLE (10), "w", BCON_DOUBLE (15.25), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("A")); 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 ("sketchbook"), "qty", BCON_INT64 (80), "size", "{", "h", BCON_DOUBLE (14), "w", BCON_DOUBLE (21), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("A")); 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 ("sketch pad"), "qty", BCON_INT64 (95), "size", "{", "h", BCON_DOUBLE (22.85), "w", BCON_DOUBLE (30.5), "uom", BCON_UTF8 ("cm"), "}", "status", BCON_UTF8 ("A")); 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[] { new BsonDocument { { "item", "canvas" }, { "qty", 100 }, { "size", new BsonDocument { { "h", 28 }, { "w", 35.5 }, { "uom", "cm" } } }, { "status", "A" } }, new BsonDocument { { "item", "journal" }, { "qty", 25 }, { "size", new BsonDocument { { "h", 14 }, { "w", 21 }, { "uom", "cm" } } }, { "status", "A" } }, new BsonDocument { { "item", "mat" }, { "qty", 85 }, { "size", new BsonDocument { { "h", 27.9 }, { "w", 35.5 }, { "uom", "cm" } } }, { "status", "A" } }, new BsonDocument { { "item", "mousepad" }, { "qty", 25 }, { "size", new BsonDocument { { "h", 19 }, { "w", 22.85 }, { "uom", "cm" } } }, { "status", "P" } }, new BsonDocument { { "item", "notebook" }, { "qty", 50 }, { "size", new BsonDocument { { "h", 8.5 }, { "w", 11 }, { "uom", "in" } } }, { "status", "P" } }, new BsonDocument { { "item", "paper" }, { "qty", 100 }, { "size", new BsonDocument { { "h", 8.5 }, { "w", 11 }, { "uom", "in" } } }, { "status", "D" } }, new BsonDocument { { "item", "planner" }, { "qty", 75 }, { "size", new BsonDocument { { "h", 22.85 }, { "w", 30 }, { "uom", "cm" } } }, { "status", "D" } }, new BsonDocument { { "item", "postcard" }, { "qty", 45 }, { "size", new BsonDocument { { "h", 10 }, { "w", 15.25 }, { "uom", "cm" } } }, { "status", "A" } }, new BsonDocument { { "item", "sketchbook" }, { "qty", 80 }, { "size", new BsonDocument { { "h", 14 }, { "w", 21 }, { "uom", "cm" } } }, { "status", "A" } }, new BsonDocument { { "item", "sketch pad" }, { "qty", 95 }, { "size", new BsonDocument { { "h", 22.85 }, { "w", 30.5 }, { "uom", "cm" } } }, { "status", "A" } }, }; collection.InsertMany(documents);
docs := []any{ bson.D{ {"item", "canvas"}, {"qty", 100}, {"size", bson.D{ {"h", 28}, {"w", 35.5}, {"uom", "cm"}, }}, {"status", "A"}, }, bson.D{ {"item", "journal"}, {"qty", 25}, {"size", bson.D{ {"h", 14}, {"w", 21}, {"uom", "cm"}, }}, {"status", "A"}, }, bson.D{ {"item", "mat"}, {"qty", 85}, {"size", bson.D{ {"h", 27.9}, {"w", 35.5}, {"uom", "cm"}, }}, {"status", "A"}, }, bson.D{ {"item", "mousepad"}, {"qty", 25}, {"size", bson.D{ {"h", 19}, {"w", 22.85}, {"uom", "in"}, }}, {"status", "P"}, }, bson.D{ {"item", "notebook"}, {"qty", 50}, {"size", bson.D{ {"h", 8.5}, {"w", 11}, {"uom", "in"}, }}, {"status", "P"}, }, bson.D{ {"item", "paper"}, {"qty", 100}, {"size", bson.D{ {"h", 8.5}, {"w", 11}, {"uom", "in"}, }}, {"status", "D"}, }, bson.D{ {"item", "planner"}, {"qty", 75}, {"size", bson.D{ {"h", 22.85}, {"w", 30}, {"uom", "cm"}, }}, {"status", "D"}, }, bson.D{ {"item", "postcard"}, {"qty", 45}, {"size", bson.D{ {"h", 10}, {"w", 15.25}, {"uom", "cm"}, }}, {"status", "A"}, }, bson.D{ {"item", "sketchbook"}, {"qty", 80}, {"size", bson.D{ {"h", 14}, {"w", 21}, {"uom", "cm"}, }}, {"status", "A"}, }, bson.D{ {"item", "sketch pad"}, {"qty", 95}, {"size", bson.D{ {"h", 22.85}, {"w", 30.5}, {"uom", "cm"}, }}, {"status", "A"}, }, } result, err := coll.InsertMany(context.TODO(), docs)
Publisher<Success> insertManyPublisher = collection.insertMany(asList( Document.parse("{ item: 'canvas', qty: 100, size: { h: 28, w: 35.5, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'journal', qty: 25, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'mat', qty: 85, size: { h: 27.9, w: 35.5, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'mousepad', qty: 25, size: { h: 19, w: 22.85, uom: 'cm' }, status: 'P' }"), Document.parse("{ item: 'notebook', qty: 50, size: { h: 8.5, w: 11, uom: 'in' }, status: 'P' }"), Document.parse("{ item: 'paper', qty: 100, size: { h: 8.5, w: 11, uom: 'in' }, status: 'D' }"), Document.parse("{ item: 'planner', qty: 75, size: { h: 22.85, w: 30, uom: 'cm' }, status: 'D' }"), Document.parse("{ item: 'postcard', qty: 45, size: { h: 10, w: 15.25, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'sketchbook', qty: 80, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'sketch pad', qty: 95, size: { h: 22.85, w: 30.5, uom: 'cm' }, status: 'A' }") ));
collection.insertMany(asList( Document.parse("{ item: 'canvas', qty: 100, size: { h: 28, w: 35.5, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'journal', qty: 25, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'mat', qty: 85, size: { h: 27.9, w: 35.5, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'mousepad', qty: 25, size: { h: 19, w: 22.85, uom: 'cm' }, status: 'P' }"), Document.parse("{ item: 'notebook', qty: 50, size: { h: 8.5, w: 11, uom: 'in' }, status: 'P' }"), Document.parse("{ item: 'paper', qty: 100, size: { h: 8.5, w: 11, uom: 'in' }, status: 'D' }"), Document.parse("{ item: 'planner', qty: 75, size: { h: 22.85, w: 30, uom: 'cm' }, status: 'D' }"), Document.parse("{ item: 'postcard', qty: 45, size: { h: 10, w: 15.25, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'sketchbook', qty: 80, size: { h: 14, w: 21, uom: 'cm' }, status: 'A' }"), Document.parse("{ item: 'sketch pad', qty: 95, size: { h: 22.85, w: 30.5, uom: 'cm' }, status: 'A' }") ));
collection.insertMany( listOf( Document("item", "canvas") .append("qty", 100) .append("size", Document("h", 28).append("w", 35.5).append("uom", "cm")) .append("status", "A"), Document("item", "journal") .append("qty", 25) .append("size", Document("h", 14).append("w", 21).append("uom", "cm")) .append("status", "A"), Document("item", "mat") .append("qty", 85) .append("size", Document("h", 27.9).append("w", 35.5).append("uom", "cm")) .append("status", "A"), Document("item", "mousepad") .append("qty", 25) .append("size", Document("h", 19).append("w", 22.85).append("uom", "cm")) .append("status", "P"), Document("item", "notebook") .append("qty", 50) .append("size", Document("h", 8.5).append("w", 11).append("uom", "in")) .append("status", "P"), Document("item", "paper") .append("qty", 100) .append("size", Document("h", 8.5).append("w", 11).append("uom", "in")) .append("status", "D"), Document("item", "planner") .append("qty", 75) .append("size", Document("h", 22.85).append("w", 30).append("uom", "cm")) .append("status", "D"), Document("item", "postcard") .append("qty", 45) .append("size", Document("h", 10).append("w", 15.25).append("uom", "cm")) .append("status", "A"), Document("item", "sketchbook") .append("qty", 80) .append("size", Document("h", 14).append("w", 21).append("uom", "cm")) .append("status", "A"), Document("item", "sketch pad") .append("qty", 95) .append("size", Document("h", 22.85).append("w", 30.5).append("uom", "cm")) .append("status", "A"), ) )
await db.inventory.insert_many( [ { "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", }, ] )
await db.collection('inventory').insertMany([ { 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' } ]);
$insertManyResult = $db->inventory->insertMany([ [ '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', ], ]);
db.inventory.insert_many( [ { "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", }, ] )
client[:inventory].insert_many([ { 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' } ])
collection.insertMany(Seq( Document("""{ item: "canvas", qty: 100, size: { h: 28, w: 35.5, uom: "cm" }, status: "A" }"""), Document("""{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" }"""), Document("""{ item: "mat", qty: 85, size: { h: 27.9, w: 35.5, uom: "cm" }, status: "A" }"""), Document("""{ item: "mousepad", qty: 25, size: { h: 19, w: 22.85, uom: "cm" }, status: "P" }"""), Document("""{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" }"""), Document("""{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" }"""), Document("""{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" }"""), Document("""{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }"""), Document("""{ item: "sketchbook", qty: 80, size: { h: 14, w: 21, uom: "cm" }, status: "A" }"""), Document("""{ item: "sketch pad", qty: 95, size: { h: 22.85, w: 30.5, uom: "cm" }, status: "A" }""") )).execute()
コレクション内のドキュメントの更新
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
{ <update operator>: { <field1>: <value1>, ... }, <update operator>: { <field2>: <value2>, ... }, ... }
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
Compass でドキュメントをアップデートするには、対象のドキュメントにカーソルを合わせ、鉛筆アイコンをクリックします。
![[edit document] をクリック](/ja-jp/docs/v8.0/static/1e81ba91b2d97277fced97fe9047e31f/be780/compass-update-doc-button.webp)
鉛筆アイコンをクリックすると、ドキュメントは編集モードになります。

このドキュメントを変更するには、変更したいアイテムをクリックして値を変更します。
詳細な手順は、 Compass ドキュメント をご覧いただくか、以下の 例 に従ってください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新関数に渡します。
{ <update operator>: { <field1>: <value1>, ... }, <update operator>: { <field2>: <value2>, ... }, ... }
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
{ <update operator> => { <field1> => <value1>, ... }, <update operator> => { <field2> => <value2>, ... }, ... }
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
このドライバーは、更新ドキュメントをビルドするcom.mongodb.クライアント.model.Updatesクラスを提供します。
combine(set(<field1>, <value1>), set(<field2>, <value2>))
更新 ヘルパーのリストについては com.mongodb を参照してください。クライアント.model.Updates
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
このドライバーは、更新ドキュメントをビルドするcom.mongodb.クライアント.model.Updatesクラスを提供します。
combine(set(<field1>, <value1>), set(<field2>, <value2>))
更新 ヘルパーのリストについては com.mongodb を参照してください。クライアント.model.Updates
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
ドライバーは com.mongodb.client.model.Updates クラスを提供して更新ドキュメントをビルドします。以下のコードは、 Updates ビルダークラスのメソッドを用いた更新ドキュメントを示しています。
combine(set(<field1>, <value1>), set(<field2>, <value2>))
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
{ <update operator>: { <field1>: <value1>, ... }, <update operator>: { <field2>: <value2>, ... }, ... }
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
{ <update operator>: { <field1>: <value1>, ... }, <update operator>: { <field2>: <value2>, ... }, ... }
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
[ <update operator> => [ <field1> => <value1>, ... ], <update operator> => [ <field2> => <value2>, ... ], ... ]
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
{ <update operator>: { <field1>: <value1>, ... }, <update operator>: { <field2>: <value2>, ... }, ... }
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
{ <update operator> => { <field1> => <value1>, ... }, <update operator> => { <field2> => <value2>, ... }, ... }
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
フィールド値を変更するには、 などの フィールド更新演算子 $setを使用します。
更新ドキュメントを更新メソッドに渡します。
( set (<field1>, <value1>), set (<field2>, <value2>), ... )
$setなどの一部の更新演算子は、フィールドがない場合にフィールドを作成します。 詳細については、個々の更新演算子のリファレンスを参照してください。
注意
MongoDB は、更新ドキュメントの代わりに集計パイプラインを受け入れることができます。詳しくは、メソッドのリファレンス ページを参照してください。
単一ドキュメントの更新
次の例えでは inventory コレクションの db.collection.updateOne() メソッドを使用して、item が "paper" に等しい最初のドキュメントをアップデートします。
次の例えでは MongoDB Compass を使用して、 inventory コレクション内の item: paper の単一のドキュメントを変更する方法を示しています。
注意
この例では Compass テーブル ビュー を使用してドキュメントを変更します。MongoDB Compass リスト ビュー を使用した編集プロセスも同様のアプローチとなります。
Compass のテーブル ビューとリスト ビューの違いの詳細については、Compass のドキュメントを参照してください。
次の例では、inventory コレクションで mongoc_collection_update_one 関数を使用して、item が "paper" に等しい 最初のドキュメントを更新します。
次の例では、inventory コレクションの IMongoCollection.UpdateOne() メソッドを使用して、item が "paper" と等しい 最初のドキュメントを更新します。
次の例では、inventory コレクションの Collection.UpdateOne メソッドを使用して、item が "paper" と等しい最初のドキュメントを更新します。
次の例えでは inventory コレクションの com.mongodb.reactivestreams.client.MongoCollection.updateOne を使用して、item が "paper" に等しい最初のドキュメントをアップデートします。
次の例では inventory コレクションの com.mongodb.client.MongoCollection.updateOne メソッドを使用して、item が "paper" に等しい最初のドキュメントをアップデートします。
次の例では MongoCollection.updateOne()inventoryコレクションのメソッドを使用して、 が と等しい 最初のドキュメントを更新します。item"paper"
次の例では、inventory コレクションの update_one メソッドを使用して、item が "paper" と等しい最初のドキュメントを更新します。
次の例では、 Collection.updateOne()inventoryコレクションのメソッドを使用して、 が と等しい 最初のドキュメントを更新します。item"paper"
次の例えでは inventory コレクションの updateOne() メソッドを使用して、 item が "paper" に等しい最初のドキュメントをアップデートします。
次の例では、inventory コレクションの update_one メソッドを使用して、item が "paper" と等しい最初のドキュメントを更新します。
以下の例では update_one() メソッドを inventory コレクションで使用して、item が"paper" に等しい最初のドキュメントを更新します。
db.inventory.updateOne( { item: "paper" }, { $set: { "size.uom": "cm", status: "P" }, $currentDate: { lastModified: true } } )
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
ターゲット ドキュメントを次のように変更します。
statusフィールドをDからPに変更します。size.uomフィールドをinからcmに変更します。今日の日付を値とする
lastModifiedという新しいフィールドを追加します。
テーブル ビューにアクセスするには、上部のナビゲーションにある [Table] ボタンをクリックします。
![テーブルビューにアクセス]()
Compass クエリ バーを使用して、対象のドキュメントを見つけます。
次のフィルター ドキュメントをクエリ バーにコピーし、[Find] をクリックします。
{ item: "paper" } ![Paper ドキュメントを検索]()
statusフィールドにカーソルを合わせ、ドキュメントの右側に表示される鉛筆アイコンをクリックして編集モードを開始します。![編集ボタンをクリック]()
フィールドの値を
"P"に変更します。変更を保存するには、フィールドの下の Update ボタンをクリックします。
sizeフィールドにカーソルを合わせ、フィールドの右側に表示される外向きの矢印をクリックすると、新しいタブが開き、sizeオブジェクト内のフィールドが表示されます。![オブジェクトのサイズを拡大]()
statusフィールドの編集については手順 3-5 の説明と同じプロセスを使用して、size.uomフィールドの値を"cm"に変更します。inventoryというラベルの付いたテーブルの上にある左端のタブをクリックすると元のテーブルビューに戻り、最上位のドキュメントが表示されます。![インベントリ タブをクリック]()
statusフィールドにカーソルを合わせ、ドキュメントの右側に表示される鉛筆アイコンをクリックして編集モードを再度開始します。statusフィールド内、編集メニューに表示される plus button アイコンの順にクリックします。プラスボタンの下に表示される Add Field After status ボタンをクリックします。
![ステータスの後にフィールドを追加]()
今日の日付を値とする
lastModifiedという新しいフィールドを追加します。フィールドタイプをDateに設定します。![更新を送信]()
変更を保存するには、フィールドの下の Update ボタンをクリックします。
注意
MongoDB Compass は
$currentDateまたはその他のフィールド アップデート 演算子をサポートしていないため、Compass に日付値を手動で入力する必要があります。
mongoc_collection_t *collection; bson_t *selector; bson_t *update; bool r; bson_error_t error; collection = mongoc_database_get_collection (db, "inventory"); selector = BCON_NEW ("item", BCON_UTF8 ("paper")); update = BCON_NEW ( "$set", "{", "size.uom", BCON_UTF8 ("cm"), "status", BCON_UTF8 ("P"), "}", "$currentDate", "{", "lastModified", BCON_BOOL (true), "}"); r = mongoc_collection_update_one(collection, selector, update, NULL, NULL, &error); bson_destroy (selector); bson_destroy (update); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; }
var filter = Builders<BsonDocument>.Filter.Eq("item", "paper"); var update = Builders<BsonDocument>.Update.Set("size.uom", "cm").Set("status", "P").CurrentDate("lastModified"); var result = collection.UpdateOne(filter, update);
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
result, err := coll.UpdateOne( context.TODO(), bson.D{ {"item", "paper"}, }, bson.D{ {"$set", bson.D{ {"size.uom", "cm"}, {"status", "P"}, }}, {"$currentDate", bson.D{ {"lastModified", true}, }}, }, )
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
Publisher<UpdateResult> updateOnePublisher = collection.updateOne(eq("item", "paper"), combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified")));
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
collection.updateOne(eq("item", "paper"), combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified")));
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
collection.updateOne(eq("item", "paper"), combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified")));
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
await db.inventory.update_one( {"item": "paper"}, {"$set": {"size.uom": "cm", "status": "P"}, "$currentDate": {"lastModified": True}}, )
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
await db.collection('inventory').updateOne( { item: 'paper' }, { $set: { 'size.uom': 'cm', status: 'P' }, $currentDate: { lastModified: true } } );
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
$updateResult = $db->inventory->updateOne( ['item' => 'paper'], [ '$set' => ['size.uom' => 'cm', 'status' => 'P'], '$currentDate' => ['lastModified' => true], ], );
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
db.inventory.update_one( {"item": "paper"}, {"$set": {"size.uom": "cm", "status": "P"}, "$currentDate": {"lastModified": True}}, )
client[:inventory].update_one({ item: 'paper'}, { '$set' => { 'size.uom' => 'cm', 'status' => 'P' }, '$currentDate' => { 'lastModified' => true } })
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
collection.updateOne(equal("item", "paper"), combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified")) ).execute()
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"cm"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
複数のドキュメントの更新
次の例えでは inventory コレクションの db.collection.updateMany() メソッドを使用して、 qty が 50 より小さいすべてのドキュメントをアップデートします。
MongoDB Compass では一度にアップデートできるドキュメントは 1 つだけです。
次の例えでは inventory コレクションの IMongoCollection.UpdateMany() メソッドを使用して、qty が 50 より小さいすべてのドキュメントをアップデートします。
次の例えでは inventory コレクションの Collection.UpdateMany メソッドを使用して、qty が 50 より小さいすべてのドキュメントをアップデートします。
次の例えでは inventory コレクションの com.mongodb.reactivestreams.client.MongoCollection.updateMany メソッドを使用して、qty が 50 より小さいすべてのドキュメントをアップデートします。
次の例では、inventory コレクションの com.mongodb.client.MongoCollection.updateMany メソッドを使用して、qty が 50 未満のすべてのドキュメントを更新します。
次の例では MongoCollection.updateMany()inventoryコレクションのメソッドを使用して、qty が 50 より小さいすべてのドキュメントを更新します。
次の例えでは inventory コレクションの update_many メソッドを使用して、qty が 50 より小さいすべてのドキュメントをアップデートします。
次の例えでは inventory コレクションの Collection.updateMany() メソッドを使用して、qty が 50 より小さいすべてのドキュメントをアップデートします。
次の例では inventory コレクションに updateMany() メソッドを適用して、qty が 50 未満のすべてのドキュメントを更新しています。
次の例えでは inventory コレクションの update_many メソッドを使用して、qty が 50 より小さいすべてのドキュメントをアップデートします。
以下の例では、update_many() メソッドを inventory コレクションで使用して、qty が 50 より小さいすべてのドキュメントを更新します。
以下の例では、updateMany() メソッドを inventory コレクションで使用して、qty が 50 より小さいすべてのドキュメントを更新します。
db.inventory.updateMany( { "qty": { $lt: 50 } }, { $set: { "size.uom": "in", status: "P" }, $currentDate: { lastModified: true } } )
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
複数のドキュメントをアップデートするには mongosh または MongoDB ドライバーから MongoDB 配置に接続し、このセクションの例えにある、希望する方法で行います。
mongoc_collection_t *collection; bson_t *selector; bson_t *update; bool r; bson_error_t error; collection = mongoc_database_get_collection (db, "inventory"); selector = BCON_NEW ( "qty", "{", "$lt", BCON_INT64 (50), "}"); update = BCON_NEW ( "$set", "{", "size.uom", BCON_UTF8 ("in"), "status", BCON_UTF8 ("P"), "}", "$currentDate", "{", "lastModified", BCON_BOOL (true), "}"); r = mongoc_collection_update_many(collection, selector, update, NULL, NULL, &error); bson_destroy (selector); bson_destroy (update); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; }
var filter = Builders<BsonDocument>.Filter.Lt("qty", 50); var update = Builders<BsonDocument>.Update.Set("size.uom", "in").Set("status", "P").CurrentDate("lastModified"); var result = collection.UpdateMany(filter, update);
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
result, err := coll.UpdateMany( context.TODO(), bson.D{ {"qty", bson.D{ {"$lt", 50}, }}, }, bson.D{ {"$set", bson.D{ {"size.uom", "cm"}, {"status", "P"}, }}, {"$currentDate", bson.D{ {"lastModified", true}, }}, }, )
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
Publisher<UpdateResult> updateManyPublisher = collection.updateMany(lt("qty", 50), combine(set("size.uom", "in"), set("status", "P"), currentDate("lastModified")));
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
collection.updateMany(lt("qty", 50), combine(set("size.uom", "in"), set("status", "P"), currentDate("lastModified")));
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
collection.updateOne(eq("item", "paper"), combine(set("size.uom", "cm"), set("status", "P"), currentDate("lastModified")));
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
await db.inventory.update_many( {"qty": {"$lt": 50}}, {"$set": {"size.uom": "in", "status": "P"}, "$currentDate": {"lastModified": True}}, )
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
await db.collection('inventory').updateMany( { qty: { $lt: 50 } }, { $set: { 'size.uom': 'in', status: 'P' }, $currentDate: { lastModified: true } } );
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
$updateResult = $db->inventory->updateMany( ['qty' => ['$lt' => 50]], [ '$set' => ['size.uom' => 'cm', 'status' => 'P'], '$currentDate' => ['lastModified' => true], ], );
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
db.inventory.update_many( {"qty": {"$lt": 50}}, {"$set": {"size.uom": "in", "status": "P"}, "$currentDate": {"lastModified": True}}, )
client[:inventory].update_many({ qty: { '$lt' => 50 } }, { '$set' => { 'size.uom' => 'in', 'status' => 'P' }, '$currentDate' => { 'lastModified' => true } })
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
collection.updateMany(lt("qty", 50), combine(set("size.uom", "in"), set("status", "P"), currentDate("lastModified")) ).execute()
アップデートの操作:
$set演算子を使用してsize.uomフィールドの値を"in"に、statusフィールドの値を"P"にアップデートします。$currentDate演算子を使用してlastModifiedフィールドの値を現在の日付にアップデートします。lastModifiedフィールドが存在しない場合、$currentDateはそのフィールドを作成します。詳細については$currentDateを参照してください。
ドキュメントの置き換え
_id フィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントを db.collection.replaceOne() の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
MongoDB Compass ではドキュメントを置き換えることはできません。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをmongoc_collection_replace_one の 3 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをIMongoCollection.ReplaceOne() の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
フィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをCollection.ReplaceOne の_id 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_id フィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントを com.mongodb.reactivestreams.client.MongoCollection.replaceOne の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをcom.mongodb の 2 番目の引数として渡します。クライアント.MongoCollection.replaceOne
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをMongoCollection.replaceOne() の 2 番目の引数として渡します。使用して複数のドキュメントを挿入できます。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをreplace_one の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをCollection.replaceOne() の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_id フィールド以外のドキュメントの内容全体を置き換えるには、完全に新しいドキュメントを replaceOne() の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、完全に新しいドキュメントをreplace_one の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_id フィールドを除くドキュメントのコンテンツ全体を置き換えるには、新しいドキュメントを replace_one() の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
_idフィールドを除くドキュメントのコンテンツ全体を置き換えるには、新しいドキュメントをreplaceOne() の 2 番目の引数として渡します。
ドキュメントを置き換える場合、置き換えドキュメントはフィールドと値のペアのみで構成される必要があります。 置き換えドキュメントには更新演算子の式を含めることはできません。
置き換えドキュメントには、元のドキュメントとは異なるフィールドを含めることができます。 置き換えドキュメントでは、 _idフィールドが不変であるため、 _idフィールドを省略できます。 ただし、 _idフィールドを含める場合は、現在値と同じ値である必要があります。
次の例えでは item: "paper" の inventory コレクションにある最初のドキュメントを置き換えます。
db.inventory.replaceOne( { item: "paper" }, { item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] } )
ドキュメントを置き換えるには mongosh または MongoDB ドライバーから MongoDB 配置に接続し、このセクションの例に従って、希望する方法で行います。
mongoc_collection_t *collection; bson_t *selector; bson_t *replacement; bool r; bson_error_t error; collection = mongoc_database_get_collection (db, "inventory"); selector = BCON_NEW ("item", BCON_UTF8 ("paper")); replacement = BCON_NEW ( "item", BCON_UTF8 ("paper"), "instock", "[", "{", "warehouse", BCON_UTF8 ("A"), "qty", BCON_INT64 (60), "}","{", "warehouse", BCON_UTF8 ("B"), "qty", BCON_INT64 (40), "}", "]"); /* MONGOC_UPDATE_NONE means "no special options" */ r = mongoc_collection_replace_one(collection, selector, replacement, NULL, NULL, &error); bson_destroy (selector); bson_destroy (replacement); if (!r) { MONGOC_ERROR ("%s\n", error.message); goto done; }
必要に応じて、次のメソッドを呼び出して、開いているリソースをクリーンアップします。
var filter = Builders<BsonDocument>.Filter.Eq("item", "paper"); var replacement = new BsonDocument { { "item", "paper" }, { "instock", new BsonArray { new BsonDocument { { "warehouse", "A" }, { "qty", 60 } }, new BsonDocument { { "warehouse", "B" }, { "qty", 40 } } } } }; var result = collection.ReplaceOne(filter, replacement);
result, err := coll.ReplaceOne( context.TODO(), bson.D{ {"item", "paper"}, }, bson.D{ {"item", "paper"}, {"instock", bson.A{ bson.D{ {"warehouse", "A"}, {"qty", 60}, }, bson.D{ {"warehouse", "B"}, {"qty", 40}, }, }}, }, )
Publisher<UpdateResult> replaceOnePublisher = collection.replaceOne(eq("item", "paper"), Document.parse("{ item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 40 } ] }"));
collection.replaceOne(eq("item", "paper"), Document.parse("{ item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 40 } ] }"));
collection.replaceOne(eq("item", "paper"), Document.parse("{ item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 40 } ] }"));
await db.inventory.replace_one( {"item": "paper"}, { "item": "paper", "instock": [{"warehouse": "A", "qty": 60}, {"warehouse": "B", "qty": 40}], }, )
await db.collection('inventory').replaceOne( { item: 'paper' }, { item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 40 } ] } );
$updateResult = $db->inventory->replaceOne( ['item' => 'paper'], [ 'item' => 'paper', 'instock' => [ ['warehouse' => 'A', 'qty' => 60], ['warehouse' => 'B', 'qty' => 40], ], ], );
db.inventory.replace_one( {"item": "paper"}, { "item": "paper", "instock": [{"warehouse": "A", "qty": 60}, {"warehouse": "B", "qty": 40}], }, )
client[:inventory].replace_one({ item: 'paper' }, { item: 'paper', instock: [ { warehouse: 'A', qty: 60 }, { warehouse: 'B', qty: 40 } ] })
collection.replaceOne(equal("item", "paper"), Document("""{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }""") ).execute()
MongoDB Atlas を使用してドキュメントを更新する
注意
MongoDB AtlasのUIは、一度に1つのドキュメントを更新します。複数のドキュメントを更新したり、ドキュメント全体を置き換えたりするには、Atlasの配置に mongoshまたはMongoDBドライバーに接続し、お好みの方法の例に従ってください。
この例では、サンプル供給データセットを使用します。サンプル データセットをロードするには、サンプル データのロードを参照してください。
MongoDB Atlas でドキュメントを更新するには、次の手順に従います。
MongoDB Atlas UIで、プロジェクトのClusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
クエリフィルターを指定してください。
Filter フィールドにクエリフィルター ドキュメントを指定できます。クエリフィルター ドキュメントは、クエリ演算子を使用して検索条件を指定します。
次のクエリフィルター ドキュメントを [Filter] 検索バーにコピーし、[Apply] をクリックします。
{ saleDate: { $gte: { $date: "2016-01-01T00:00-00:00" }, $lte: { $date: "2016-01-02T00:00-00:00" } } }
このクエリフィルターは、sample_supplies.sales コレクション内のドキュメントで、saleDate が 2016 年 1 月 1 日から 2 日(UTC 時間)の間のものをすべて返します。
Edit a document.
クエリ結果に表示されたドキュメントを編集するには、ドキュメントにカーソルを合わせ、鉛筆アイコンをクリックします。ドキュメント エディターでは、次のことができます。
新しいフィールドを追加
既存のフィールドを削除
フィールドの名前、値、型を編集
特定の変更を元に戻す
詳細な手順については、ドキュメント「ドキュメントの作成、表示、アップデート、削除」を参照してください。
動作
アトミック性
すべての書き込み操作はドキュメントレベルでアトミックです。詳細については、「原子性とトランザクション」を参照してください。
_id フィールド
一度設定されると、_id フィールド値を更新したり、異なる _id 値を持つドキュメントに置き換えたりすることはできません。
冪等操作
updateMany()は冪等操作にのみ使用してください。
フィールドの順序
MongoDB は次のケースを除き、書込み操作でドキュメントのフィールド順序を維持します。
_idフィールドは常にドキュメントの最初のフィールドとなります。更新にフィールド名
renamingが含まれる場合、ドキュメント内のフィールド順序が変更されることがあります。
アップサート オプション
updateOne()、updateMany()、または replaceOne() に upsert : true が含まれており、かつ、指定されたフィルターに一致するドキュメントがない場合、操作は新しいドキュメントを作成し、挿入します。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
アップサートオプションはMongoDB Compassには利用できません。
mongoc_collection_update_one、mongoc_collection_update_many、または mongoc_collection_replace_one upsert : trueに が含まれており、 かつ 指定されたフィルターに一致するドキュメントがない場合、操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、関数の個々の参照ページを参照してください。
UpdateOne()、UpdateMany()、またはReplaceOne()に、IsUpsert オプションが true に設定されているUpdateOptions引数インスタンスが含まれており、かつ、指定されたフィルターに一致するドキュメントがない場合、操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
Collection.UpdateOne で Upsert オプションが true に設定 され、かつ、指定されたフィルターに一致するドキュメントがない場合、操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
アップデートおよび置換メソッドに UpdateOptions.upsert(true) を指定する UpdateOptions パラメーターが含まれ、 かつ 、指定されたフィルターに一致するドキュメントがない場合、操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
アップデートおよび置換メソッドに com.mongodb が含まれる場合、 com.mongodb を指定するクライアント.model.UpdateOptions パラメーター。 クライアント.model.UpdateOptions.upsert(true)かつ、指定したフィルタに一致するドキュメントがない場合は、この操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
アップデートおよび置換メソッドに com.mongodb が含まれる場合、クライアント.model.UpdateOptions パラメーターで upsert(true)が指定され、かつ指定されたフィルターに一致するドキュメントがない場合、この操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
update_one、update_many 、またはreplace_one にupsert : true が含まれており、 かつ 指定されたフィルターに一致するドキュメントがない場合、操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
updateOne()、 updateMany()、または replaceOne() の で options パラメータドキュメントに upsert : true が含まれ、 かつ 指定されたフィルターに一致するドキュメントがない場合、この操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
updateOne()、updateMany()、または replaceOne() に upsert =>
true が含まれており、かつ、指定されたフィルターに一致するドキュメントがない場合、操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、オペレーションは一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
update_one、update_many 、またはreplace_one にupsert : true が含まれており、 かつ 指定されたフィルターに一致するドキュメントがない場合、操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
update_one()、update_many()、または replace_one() に upsert => true が含まれており、かつ指定されたフィルターに一致するドキュメントがない場合、この操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合は、この操作によって一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
updateOne() 、 updateMany() 、または replaceOne() にupsert => true が含まれており、 かつ 指定されたフィルターに一致するドキュメントがない場合、この操作によって新しいドキュメントが作成され、挿入されます。一致するドキュメントがある場合、操作は一致する 1 つまたは複数のドキュメントを変更または置換します。
作成された新しいドキュメントの詳細については、メソッドの個々のリファレンスページを参照してください。
書込み (write) 確認応答
書込み保証(write concern)操作で MongoDB に要求する確認応答のレベルを指定します。






