mongodb 版本7.0.0更新后,Model.InsertMany()中不再接受回调

qkf9rpyu  于 2023-03-01  发布在  Go
关注(0)|答案(1)|浏览(538)

嗨,伙计们,我目前正在做一个项目,我正在使用mongoose,我有最新版本的7.0.0。问题是,当我试图在控制台中的Model.insertMany()操作中给予回调时,它显示MongooseError:Model.insertMany()不再接受回调
我在下面添加了我的代码。我想知道是否有其他替代方案来解决这个错误。
在应用程序js中----

const express = require("express");
const mongoose = require("mongoose");// require mongoose
const bodyParser = require("body-parser");
const date = require(__dirname + "/date.js");

const app = express();

app.set('view engine', 'ejs');

app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static("public"));

//create a todolistDB database and connect it
mongoose.connect("mongodb://127.0.0.1/todolistDB", {useNewUrlParser:true});

//create a Schema of only name feild
const itemSchema = new mongoose.Schema({
     name:String
});

const Item = mongoose.model("Item", itemSchema); // create a model of Items

const Item1= new Item({
  name:"Welcome to the todolist"
});

const Item2= new Item({
  name:"Click + button to add items"
});

const Item3= new Item({
  name:"click delete to remove item"
});

const defaultItem= [Item1, Item2, Item3 ]; // create a array of items doc

Item.insertMany(defaultItem,{
  if(err){
    console.log(err);
  }else{
    console.log("Items added succesfully");
  }
});
mzmfm0qo

mzmfm0qo1#

您应该尝试使用await来处理承诺。
MDN Promise
下面是一个如何使用await的快速示例。如果直接复制下面的代码,您可能会遇到无法处理异步的问题

await Item.insertMany(defaultItem).then(
  (result) => {
     console.log("Items added succesfully");
  }
).catch(
  (err) => {
     console.log(err);
  }
)

相关问题