一次更新MongoDB中的多个文档
目前我使用MongoDB 4.0。我可以一次插入多个文档,如下所示:一次更新MongoDB中的多个文档,mongodb,Mongodb,目前我使用MongoDB 4.0。我可以一次插入多个文档,如下所示: db.books.insertMany([ { "_id" : 1, "item" : "TBD", "stock" : 0, "info" : { "publisher" : "1111", "pages" : 430 }, "tags" : [ "technology", "computer" ], "ratings" : [ { "by" : "ijk", "ratin
db.books.insertMany([
{
"_id" : 1,
"item" : "TBD",
"stock" : 0,
"info" : { "publisher" : "1111", "pages" : 430 },
"tags" : [ "technology", "computer" ],
"ratings" : [ { "by" : "ijk", "rating" : 4 }, { "by" : "lmn", "rating" : 5 } ],
"reorder" : false
},
{
"_id" : 2,
"item" : "XYZ123",
"stock" : 15,
"info" : { "publisher" : "5555", "pages" : 150 },
"tags" : [ ],
"ratings" : [ { "by" : "xyz", "rating" : 5 } ],
"reorder" : false
}
]);
问题是,当我想将第一个项目的库存更新为5,将第二个项目的库存更新为10时,是否可以像在
insertMany
中那样一次更新多个文档?如果是,怎么做?您应该在mongodb中尝试bulkWrite
操作
try {
db.books.bulkWrite(
[
{ updateOne :
{
"filter" : { "_id" : 1 },
"update" : { $set : { "stock " : 5} }
}
},
{ updateOne :
{
"filter" : { "_id" : 2 },
"update" : { $set : { "stock " : 10} }
}
}
]
);
}
catch (e) {
print(e);
}
是的,有可用的
updateMany
。怎么做?我想做这样的条件:如果_id=1,集合库存=5,如果_id=2,集合库存=10。我发现如果我们想更新文档,我们可以更新所有字段。但是如果我想一次更新多个文档,该怎么办?