Node.js Mongoose.js-TypeError:Model.deleteOne不是函数

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

我不熟悉node.js,因此有一个非常简单的问题

我有以下几行代码:

(A) 定义了一个模型

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(),似乎他们删除了这个函数。