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

使用Mongoose的insertMany()时出现TypeError错误求助

Mongoose 批量插入文档报错问题

问题现象

单独使用await fruit.save();可正常保存单个文档,但调用.insertMany()批量添加文档时,终端抛出以下错误:

/Users/FruitsProjectMongoose/node_modules/mongoose/lib/model.js:3519
        
        for (let i = 0; i < error.writeErrors.length; ++i) {
                                              ^

TypeError: Cannot read properties of undefined (reading 'length')
    at /Users/FruitsProjectMongoose/node_modules/mongoose/lib/model.js:3519:47
    at collectionOperationCallback (/Users/FruitsProjectMongoose/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:194:24)
    at /Users/FruitsProjectMongoose/node_modules/mongodb/lib/utils.js:349:66
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

环境信息

  • MongoDB通过Homebrew安装,Mongoose通过npm安装,均为两天内更新的最新版本
  • fruitsDB数据库已存在,可通过mongosh访问并查看单独添加的文档
  • MongoDB服务器通过brew services start mongodb-community正常运行

代码示例

const mongoose = require("mongoose");
mongoose.set('strictQuery', false);

// 连接MongoDB并捕获错误
main().catch(err => console.log(err));

async function main() {
    await mongoose.connect('mongodb://127.0.0.1:27017/fruitsDB')
    .then(() => console.log('Connected!'));


    // 定义模型Schema
    const Schema = mongoose.Schema;
    const fruitSchema = new Schema({
        name: {
            type: String,
            require: true
        },
        rating: {
            type: Number,
            require: true
        },
        review: {
            type: String,
            require: true
        }
    });

    const peopleSchema = new Schema({
        name: String,
        age: Number
    });


    // 创建模型
    const Fruit = new mongoose.model("Fruit", fruitSchema);
    const People = new mongoose.model("People", peopleSchema);


    // 创建并保存单个文档
    const fruit = new Fruit({
        name: "Banana",
        rating: 10,
        review: "Perfection!"
    });
    // await fruit.save();

    const people = new People({
        name: "Eduard",
        age: 25
    });
    // await people.save();


    // 批量创建并保存文档
    const kiwi = new Fruit({
        name: "Kiwi",
        rating: 9,
        review: "Great, kinda expensive!"
    });
    
    const orange = new Fruit({
        name: "Orange",
        rating: 6,
        review: "Too sweet."
    });

    const apple = new Fruit({
        name: "Apple",
        rating: 7,
        review: "Great fruit!"
    });

    Fruit.insertMany([kiwi, orange, apple], function(err) {
        if (err) {
            console.log(err);
        } else {
            console.log("Succesfully saved to fruitsDB");
        }
    });


    mongoose.connection.close();
};

补充说明

已尝试各类网络方案、咨询开发者均无果,甚至怀疑是系统问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:20:40