Mongoose.js – TypeError:Model.deleteOne不是一个函数

我是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); }; 

我已经提到了以下的function链接 。

但是,当我运行它,它会引发以下错误:

 TypeError: Genre.deleteOne is not a function 

如果我用remove()replacedeleteOne()函数,代码将起作用。 请指教,我哪里错了。

如user3344977在评论中所说,函数deleteOnedeleteMany不再存在于mongoose中4.​​ API文档不是最新的。

我刚刚检查了mongoose(4.4)的源代码,并没有这些函数的一个单一的轨迹。

您可以改为使用Model.findOneAndRemove(condition, options, callback)Model.findByIdAndRemove(id, options, callback)

Interesting Posts