如何更新mongodb native nodejs驱动程序中的多个文档?

时间:2014-01-08 13:08:26

标签: node.js mongodb

Salam(意为你好):)

我正在运行mongodb 2.4.8和Mongo DB Native NodeJS Driver。当我使用以下函数时,只有匹配query更新的第一个文档。如何更新所有匹配的文件?

function update(coll, query, update, callback){
    var options = options || {};
    MongoClient.connect('mongodb://127.0.0.1:27017/dbName', function(error, db) {
        if(error){
            return console.dir(error);
        }
        db.collection(coll).update(query, update, {w:1}, function(error, result) {
            callback(error, result);
        });
    });
}

我通过npm install mongodb命令安装了我的mongodb驱动程序,该命令安装了版本1.3.23,此驱动程序版本是否支持多次更新?如果没有,我如何安装较新版本的驱动程序支持多次更新?

2 个答案:

答案 0 :(得分:2)

您需要在multi来电中设置update option来更新所有匹配的文档,而不仅仅是第一个:

db.collection(coll).update(query, update, {w:1, multi: true}, callback);

答案 1 :(得分:2)

您可以调用updateMany来实现此目的:

db.collection(coll).updateMany(query, update, callback);