findOneAndUpdate()を使用してMongoDBで更新しますか?
findOneAndUpdate()は、フィルターと並べ替えの基準に基づいて単一のドキュメントを更新するために使用されます。つまり、-
db.collection.findOneAndUpdate(filter, update, options)
ドキュメントを使用してコレクションを作成しましょう-
> db.demo328.insertOne({Name:"Chris",Marks:67});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e516b19f8647eb59e56207a")
}
> db.demo328.insertOne({Name:"David",Marks:78});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e516b24f8647eb59e56207b")
}
> db.demo328.insertOne({Name:"Bob",Marks:97});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e516b2bf8647eb59e56207c")
} find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo328.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e516b19f8647eb59e56207a"), "Name" : "Chris", "Marks" : 67 }
{ "_id" : ObjectId("5e516b24f8647eb59e56207b"), "Name" : "David", "Marks" : 78 }
{ "_id" : ObjectId("5e516b2bf8647eb59e56207c"), "Name" : "Bob", "Marks" : 97 } 以下は、findOneAndUpdate()で更新するクエリです。ここでは、特定のドキュメントのフィールドマークをインクリメントしています-
> db.demo328.findOneAndUpdate({Name:"David"},{ $inc: { "Marks" : 10} });
{
"_id" : ObjectId("5e516b24f8647eb59e56207b"),
"Name" : "David",
"Marks" : 78
} find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo328.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e516b19f8647eb59e56207a"), "Name" : "Chris", "Marks" : 67 }
{ "_id" : ObjectId("5e516b24f8647eb59e56207b"), "Name" : "David", "Marks" : 88 }
{ "_id" : ObjectId("5e516b2bf8647eb59e56207c"), "Name" : "Bob", "Marks" : 97 } -
MongoDBアグリゲートで$redactを使用していますか?
$ redactは、ドキュメント自体に格納されている情報に基づいて、ドキュメントの内容を制限します。 $condを$redactと一緒にまとめて使用できます。ドキュメントを使用してコレクションを作成しましょう- > db.demo546.insertOne({"Value1":10,"Value2":20});{ "acknowledged" : true, "insertedId" : ObjectId("5e8e263f9e5f92834d7f05d7") }
-
MongoDB updateOne()とinsertOne()の使用
MongoDB insertOne()はドキュメントをコレクションに挿入しますが、updateOne()はクエリフィルターに基づいてコレクション内の単一のドキュメントを更新します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo735.insertOne({id:1,Name:"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5ead51b657bb72a10bcf06