这似乎记录得很差。documentation示例只传递callback
更新。有一个重定向到Model.update
here的链接,示例显示回调的参数为(err, numberAffected, raw)
。
Document#update回调是否传递相同的参数?我希望得到更新的文件。我最初的搜索基于how to update a document in mongo db,但即使答案也没有解释甚至列出回调的参数。
答案 0 :(得分:12)
由于某种原因,回调参数的文档记录很差,困扰了许多node.js库。但MongoDB的update
命令(无论驱动程序如何)都无法访问更新的文档,因此您可以确定它没有提供给回调。
如果您需要更新的文档,则可以使用findAndModify
之类的MyModel.findOneAndUpdate({_id: 1}, {$inc: {count: 1}}, {new: true}, function (err, doc) {
// doc contains the modified document
});
方法之一:
{new: true}
从Mongoose 4.0开始,您需要在调用中提供false
选项以获取更新的文档,因为现在默认为{{1}},它将返回原始文档。
答案 1 :(得分:0)
num-affected实际上是原始mongoDB输出和对象。它看起来像这样:
{ok: 1, nModified: 0, n: 1}
不幸的是我不知道nModified属性是什么意思。 'n'是旧的(4.0之前)受影响的行数