Node.js 使用mongoose更新文档的中间件

Node.js 使用mongoose更新文档的中间件,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,使用mongoosejs更新文档的最佳选项是什么?函数查找并保存或更新?更新不要预先(“验证”)或预先(“保存”)模式中间件 查找并保存: User.findById(userId, fields, options, function(err, userResult){ if(err){ return callback(err); } userResult.age = 15; userResult.save(); callback(nu

使用mongoosejs更新文档的最佳选项是什么?函数查找并保存或更新?更新不要预先(“验证”)或预先(“保存”)模式中间件

查找并保存:

User.findById(userId, fields, options, function(err, userResult){

    if(err){
      return callback(err);
    }

    userResult.age = 15;

    userResult.save();

    callback(null, userResult);

});
更新:

User.update(filter, update, options, callback);

如果您更新了多个文档?我需要使用更新,但这不会使中间件…

是您在更新之前如何运行mongoose中间件的问题
Schema.pre('update')
应该work@AndreasHultgren这个不行。这不是我当时的错误。我的印象是猫鼬使用,因此应该能够支持.pre的任何方法。但是,为什么它还没有得到支持呢?可能单个更新流或多个更新流会有所不同?它的extrange和mongoose支持似乎OFFI会猜测它永远不会被支持,因为更新时不可能有
这个
。在“预保存”中,您可以通过
此.property
修改文档,但在更新时该属性不存在,因为不会提取文档。顺便说一句,一个选项是设置自己的
Schema.statics.update