【mongoose】 Model.create() no longer accepts a callback 报错解决

在最新版的 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);   //插入失败
    });

哎,这该死的强迫症,新项目的版本库,就想用当下最新版本的 【狗头】嘿嘿!!!!!


🚵‍♂️ 博主座右铭:向阳而生,我还在路上!


🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!


🤼‍♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】


相关推荐
全栈前端老曹14 小时前
【前端路由】Vue Router 嵌套路由 - 配置父子级路由、命名视图、动态路径匹配
前端·javascript·vue.js·node.js·ecmascript·vue-router·前端路由
EndingCoder19 小时前
TypeScript 入门:理解其本质与价值
前端·javascript·ubuntu·typescript·node.js
程序员爱钓鱼1 天前
Node.js 编程实战:RESTful API 设计
前端·后端·node.js
程序员爱钓鱼1 天前
Node.js 编程实战:GraphQL 简介与实战
前端·后端·node.js
小雪_Snow1 天前
安装 nvm 和 Node.js 教程
npm·node.js·nvm·nrm
大布布将军1 天前
☁️ 自动化交付:CI/CD 流程与云端部署
运维·前端·程序人生·ci/cd·职场和发展·node.js·自动化
冥界摄政王1 天前
Cesium学习第二章 camera 相机
node.js·html·vue3·js·cesium
C_心欲无痕1 天前
nodejs - pnpm解决幽灵依赖
前端·缓存·npm·node.js
C_心欲无痕1 天前
nodejs - npm serve
前端·npm·node.js
Irene19911 天前
使用 Docker 的 Node.js(附:三种 Node.js 环境详细对比)
docker·容器·node.js