实际上我正在使用 mongoDB ,并且我能够使用单个ObjectID更新文档,所以现在我想对具有不同 ObjectID 的多个文档执行更新,我做了大量搜索,了解 {multi:true} 将有助于更新多个文档。 我们说我有
var uid = {'Userid': ObjectId(..)};
var id = {'Newid': Object(..)};
现在我想对这些不同的文档执行更新不同的ObjectId' 的总 separatley ,到目前为止我试过考虑" xyz" 和" abc" 数组在Schema中仅用于演示
var update_uid = {$push:{'xyz': some_id}};
var update_id = {$push:{'abc': some_other_id}};
Test.update(uid,id,update_uid,update_id,{multi:true},function(){..});
这是错误的我知道,我提到它的记录以防万一,任何帮助和建议将不胜感激
答案 0 :(得分:1)
如果您想要匹配多个ID,则可以使用keywork $in
来检查阵列中是否存在任何匹配项。既然您还要检查多个属性,则可以使用$or
关键字,如果数组中的任何一个对象与数据库中的文档匹配,则会找到匹配项。
var userIds = [{'Userid':ObjectId(..)}, {'Userid':ObjectId(..)}];
var newIds = [{'Newid': Object(..)}, {'Newid': Object(..)}];
var query = {
$or: [{$in: userIds}, {$in: newIds}]
}