Salam(意为你好):)
我使用node-mongodb-native驱动程序,我需要更新存储在数组中的对象的特定字段。这是我的mongodb集合中的示例文档:
{
"fields" : [
{
"en" : "birthDate",
"status" : "enable",
"index" : 10
},{
"en" : "email",
"status" : "enable",
"index" : 4
},{
"en" : "inviterCode",
"status" : "enable",
"index" : 2
}
]
}
这是我的新数据:
var newData = [
{
"en" : "birthDate",
"status" : "disable",
},{
"en" : "email",
"status" : "disable",
}
];
如您所见,如果en
字段匹配,则应更新status
字段。我知道以下查询适用于单个更新,但如何通过单个查询实现多个更新?
collection.update(
{'fields.en': 'birthDate'},
{$set:{'fields.$.status': 'disable'}},
{w:1, multi: true},
function(error, count){
}
);