我试图更新mongoDB中的两个文件,具有两个不同的值.我用两个不同的回调制作它,但是只用一个请求就可以做到吗?
我的解决方案
mongo.financeCollection.update(
{ 'reference': 10 },
{ $push:
{ history: history1 }
}, function (err){
if (err){
callback (err);
}
else {
mongo.financeCollection.update(
{ 'reference': 20 },
{ $push:
{ history: history2 }
}, function (err){
if (err){
callback(err);
}
else {
callback(null);
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
对不起,如果这是一个愚蠢的问题,但我只想优化我的代码!
我用 mongo 更新了很多功能
这是一个例子:
db.auto.update({'def.name':'AFFAIRES'},{$push:{
"covers":{$each: [{"a":'G06'},{"a":'G07'},{"a":'G03'},{"a":'G04'},{"a":'G07'},{"a":'G30'},{"a":'G34'},
{"cover":'G14'}]}}},{multi:true})
Run Code Online (Sandbox Code Playgroud)
但是,问题是,我的集合可能包含这些变量“a”之一,所以我不需要推送它,如果没有,我必须将它推送到集合中。所以我的问题是如何告诉 mongoDB 在推送之前进行验证,这可能吗?我的查询也可能包含其他要推送的变量。