我有一个看起来像的集合:
[
{
'job': builder,
'name': bob
},
{
'job': doctor,
'name': bob
},
{
'job': builder,
'name': james
},
{
'job': lawyer,
'name': james
},
...
]
我还有一个数组,其中作业总是相同的,例如:
[
{
'job': builder,
'name': jack
},
{
'job': builder,
'name': john
},
...
]
我想替换我的集合中作业所在的所有对象。为此,我目前正在使用两个单独的查询。
mycollection.remove({'job': builder})
mycollection.insert(new_job_array);
有没有办法将其合并为一个查询?
答案 0 :(得分:0)
您可以使用update
命令。
mycollection.update({'job':'builder'}, {new document}, {multi:true})
此处提供更多信息:MongoDB update
答案 1 :(得分:0)
最终结果是,不,没有一个操作可以做到这一点。需要2个步骤,它应该使用真正的回调。
mycollection.remove({'job': builder}, function(err){
if ( err ) handle();
else mycollection.insert(new_job_array);
});