在最新版的 mongoose
操作 MongoDB
数据库的时候,当我们插入一条数据时候,会报错 :Model.create() no longer accepts a callback
,看了很多文章都说是,版本太高,都妥协选择了降低回旧版本,但我就是想用最新版本。这我能忍?安排!!!!
问题结论:
在旧版本中
Model.create()
的第二个参数是一个,回调函数
用来捕获成功或异常,但是最新版本中,Model.create()
中就没有第二个参数了
,而是返回了一个Promise
对象,我们将采用then
方法 和catch
方法来捕获状态。
旧写法 会报错
javascript
const BookModel = mongoose.model("books", BookName);
BookModel.create({
name: "张三",
price: 123456,
},(err, data) => { //回调函数写法报错
if (err) {
console.log(err);
return;
} else {
console.log(data);
}
}
);
解决方式:
新写法
返回一个 Promise
javascript
const BookModel = mongoose.model("books", BookName);
BookModel.create({
name: "张三",
price: 123456,
}).then((data) => {
console.log(data); //插入成功
}).catch((res) => {
console.log(res); //插入失败
});
哎,这该死的强迫症,新项目的版本库,就想用当下最新版本的 【狗头】嘿嘿!!!!!
🚵♂️ 博主座右铭:向阳而生,我还在路上!
🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!
🤼♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】