mongoose能使用findAndModify会报错?
我在项目中使用mongoose,然后想使用一下findAndModify,然后会报错“ xxx.findAndModify is not a function”?
mongoose不支持mongoDB的findAndModify吗?
求助
5 回复
看哪个版本了,我记得老版有某一个版本是支持的。
遇到了同样的问题,后来用的.findOneAndUpdate,我用的4.6.1
//试一下编辑回复功能
用 .findOneAndUpdate,mongoose在底层调用的其实也是mongoDB的findAndModify方法
在 stack over flow 上面的方法,我在我的schema定义中添加方法:schema.static.findAndModify方法,如下:
let schema = new mongoose.Schema({
a: String
});
schema.statics.findAndModify = function (query, sort, doc, options, callback){
return this.collection.findAndModify(query, sort, doc, options, callback);
}
就可以在model上使用findAndModify方法了
不支持的,相对应又一个方法和那个效果一样具体看API,当然也可以自己封装下。