Mongodb 使用mongoose更新多个-更新对象数组
假设我有以下数组:Mongodb 使用mongoose更新多个-更新对象数组,mongodb,mongoose,mongoose-schema,Mongodb,Mongoose,Mongoose Schema,假设我有以下数组: [ {_id: 1, status: "Active"}, {_id: 2, status: "Delete"}, {_id: 10, status: "Pause"}, {_id: 20, status: "Active"} ] 我想使用mongoose使用单个mongoDB调用来更新collectionusers中的status字段。(仅更新id为1,2,10,20的文档) 我的模式可以如下所示: var userScheme = new
[
{_id: 1, status: "Active"},
{_id: 2, status: "Delete"},
{_id: 10, status: "Pause"},
{_id: 20, status: "Active"}
]
我想使用mongoose使用单个mongoDB调用来更新collectionusers
中的status
字段。(仅更新id为1,2,10,20的文档)
我的模式可以如下所示:
var userScheme = new Schema({
fname : String,
lname : String,
status : String,
email : String
});
db.model('user', userScheme);
注意:我想使用
updateMany
而不是update
对于那些想要一个完整的例子而不是重新转到其他问题的人,这里是我的答案,它基于@ash的答案
db.model("user").bulkWrite(
usersArray.map((data) =>
({
updateOne: {
filter: { _id: data._id },
update: { $set: {status: data.status} }
}
})
)
);
这就是你需要的