Node.js Mongoose.js-TypeError:Model.deleteOne不是函数
我不熟悉node.js,因此有一个非常简单的问题 我有以下几行代码: (A) 定义了一个模型Node.js Mongoose.js-TypeError:Model.deleteOne不是函数,node.js,mongoose,typeerror,Node.js,Mongoose,Typeerror,我不熟悉node.js,因此有一个非常简单的问题 我有以下几行代码: (A) 定义了一个模型 var mongoose = require('mongoose'); var genreSchema = mongoose.Schema({ name:{ type: String, required: true } }); 执行模型删除操作 module.exports.deleteGenre = function (id, callback) { console.lo
var mongoose = require('mongoose');
var genreSchema = mongoose.Schema({
name:{
type: String,
required: true
}
});
执行模型删除操作
module.exports.deleteGenre = function (id, callback) {
console.log("Deleting genre: "+ id);
var condition = {"_id": id};
Genre.deleteOne(condition, callback);
};
关于函数,我已经提到了以下内容
但是,当我运行它时,它会抛出以下错误:
TypeError: Genre.deleteOne is not a function
如果我用remove()替换deleteOne()函数,代码就会正常工作。
请告诉我,我哪里做错了 正如用户3344977在评论中所说,Mongoose4中不再存在函数
deleteOne
和deleteMany
。API文档不是最新的
我刚刚检查了mongoose(4.4)的源代码,没有这些函数的任何痕迹
您可以使用
Model.findOneAndRemove(条件、选项、回调)
或Model.findbyiandremove(id、选项、回调)
。如果remove()函数可以使用它,因为您的过滤器是objectId(这是唯一的id),如何访问流派?尝试从您的模式创建一个模型:让GenreModel=mongoose.model('genre',GenreSchema);然后调用Genre.deleteOne(),似乎他们删除了这个函数。