使用节点mongodb本地客户端更新对象的数量

我有以下更新MongoDB查询,通过MongoDB本地客户端在Node.js中运行。 查询工作正常 – 我看到在我运行这段代码后,在我的MongoDB中被修改的对象:

collection.update( { _id : request.query.person, }, { $inc: { score : 1 } }, { safe : true}, this /* "this" is for Step */ ); 

我想知道我的查询后在MongoDB中更新的logging数量是多less。 我已经看到,我可以通过在MongoDB中运行getLastError来检查它,但我不知道如何使用本地客户端从Node.js中执行它。

任何提示如何做到这一点? 除了调用getLastError还有其他的方法吗?

       

网上收集的解决方案 "使用节点mongodb本地客户端更新对象的数量"

updatecallback的第二个参数是受影响文档的计数:

 collection.update( { _id : request.query.person }, { $inc: { score : 1 }}, { safe : true}, function (err, numAffected) { ... } ); 

原生驱动程序的2.x版本更新

updatecallback函数的第二个参数现在是一个嵌套对象,更新的文档数量可以在result.nModifiedfind。 但是update已经被弃用,所以应该使用updateOne

 collection.updateOne( { _id : request.query.person }, { $inc: { score : 1 }}, { safe : true}, function (err, response) { console.log(response.result.nModified); // Also available at response.modifiedCount for updateOne, but not update console.log(response.modifiedCount); } ); 

2.xcallback参数的文档可以在这里find。