You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Node.js和Sequelize插入包含多个对象的数组

批量插入数组数据的实现方案

你可以通过以下两种方式完成批量插入操作,同时注意排查常见错误:

常见错误排查

  • 确认BooksDetails是正确引入的Mongoose模型,模型定义的字段名和你数组里的author、BookName完全匹配(字段大小写敏感)
  • 确认await代码写在async函数内部,旧版Node.js不支持顶层直接使用await
  • 确认数据库连接已正常建立,没有权限不足、连接超时的问题

方案1:使用insertMany(推荐批量场景使用)

insertMany是Mongoose专门为批量插入设计的API,性能更优,写法如下:

let Bookarray = [
  {author:"john matt", BookName:"Beauty of Nature"},
  {author:"Mick Foley", BookName:"Have A Nice Day"},
  {author:"Kevin Sullivan.", BookName:"WWE 50"},
  {author:"Brian Shields And Dean Miller", BookName:"35 Years Of Wrestlemania"},
  {author:"Mick Foley", BookName:"Foley Is Good"},
]

let InsertObj = await BooksDetails.insertMany(Bookarray);

方案2:调整create方法的写法

如果要继续使用create方法,需要确保Mongoose版本在v5.0以上,同时可以增加错误捕获定位问题:

async function insertBooks() {
  try {
    let Bookarray = [
      {author:"john matt", BookName:"Beauty of Nature"},
      {author:"Mick Foley", BookName:"Have A Nice Day"},
      {author:"Kevin Sullivan.", BookName:"WWE 50"},
      {author:"Brian Shields And Dean Miller", BookName:"35 Years Of Wrestlemania"},
      {author:"Mick Foley", BookName:"Foley Is Good"},
    ]
    let InsertObj = await BooksDetails.create(Bookarray);
    console.log('插入成功', InsertObj)
  } catch (err) {
    // 打印错误即可定位具体问题,比如字段校验失败、数据库连接异常等
    console.error('插入出错', err)
  }
}

insertBooks()

内容的提问来源于stack exchange,提问作者user17149107

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:45:06