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在评论中所说,函数deleteOne
和deleteMany
不再存在于mongoose中4. API文档不是最新的。
我刚刚检查了mongoose(4.4)的源代码,并没有这些函数的一个单一的轨迹。
您可以改为使用Model.findOneAndRemove(condition, options, callback)
或Model.findByIdAndRemove(id, options, callback)
。