mongoose能使用findAndModify会报错?
发布于 8 年前 作者 semicoyoung 5501 次浏览 来自 问答

我在项目中使用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,当然也可以自己封装下。

回到顶部