使用.where()通过mongoose查询.update()?

pau*_*kon 2 mongoose mongodb node.js

我如何使用.where()与.update()在猫鼬?查询条件是传递.update()的第一个参数.我应该null将查询条件传递给.update()并跟随它.where('_id', id)吗?另外,我可以将此应用于.findByIdAndUpdate()/ .findOneAndUpdate()吗?

如果没有,是否有一种Query方法可以.update()只使用更新文档并通过.where()链中的其他方法指定条件?

Joh*_*yHK 8

调用whereModel类会返回一个Query对象,该对象具有您要询问的方法:update,findOneAndUpdate.

所以你可以将它们连在一起做以下事情:

MyModel.where('_id', id).update({$set: {foo: 'bar'}}, function (err, count) {});
Run Code Online (Sandbox Code Playgroud)