当前位置 : 主页 > 网页制作 > Nodejs >

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

来源:互联网 收集:自由互联 发布时间:2021-06-16
我是node.js的新手,因此是一个非常微不足道的问题. 我有以下几行代码: (A)定义了一个模型 var mongoose = require('mongoose');var genreSchema = mongoose.Schema({ name:{ type: String, required: true }}); 执行模型
我是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);
};

我在功能上提到了以下link.

但是,当我运行它时,它会抛出以下错误:

TypeError: Genre.deleteOne is not a function

如果我用remove()替换deleteOne()函数,则代码可以正常工作.
请告知,我哪里出错了.

正如user3344977在评论中所说,函数deleteOne和deleteMany在mongoose 4中不再存在.API文档不是最新的.

我刚检查了mongoose(4.4)的源代码,并且没有这些函数的单一跟踪.

您可以使用Model.findOneAndRemove(条件,选项,回调)或Model.findByIdAndRemove(id,options,callback)代替.

网友评论