【问题标题】:Error while seeding mongodb using mongoose-seed使用 mongoose-seed 播种 mongodb 时出错
【发布时间】:2021-09-01 10:19:25
【问题描述】:

我在./model.js 文件中有模型架构

const ImageSchema = new mongoose.Schema(
  {
    name: { type: String },
    filePath: { type: String },
  },
  { timestamps: true }
);

module.exports = mongoose.model("ImageSchema", ImageSchema);

种子.js

seeder.connect(
  "mongoURI",{useUnifiedTopology: true},
  function () {
    seeder.loadModels('./model.js');

    seeder.clearModels(['ImageSchema'], function () {
      seeder.populateModels(data, function () {
        seeder.disconnect();
      });
    });
  }
);

var data = [
    {
        'model': 'ImageSchema',
        'documents': [
            {
                'name': "Image",
                'filePath': "/api/image"
            }
        ]
    }
]

当我运行 seed.js 文件时,它会显示。
UnhandledPromiseRejectionWarning: TypeError: modelPaths.forEach is not a function at Seeder.loadModels

后来,我从下面的评论中得知seeder.loadModels() 采用了一组路径,我修复了它。现在是另一个问题。它说,错误:未在 Mongoose 中注册的模型:ImageSchema。

MyFolder 结构是

seeder/
  model.js
  seed.js

【问题讨论】:

    标签: node.js mongodb mongoose seed seeding


    【解决方案1】:

    seeder.loadModels() 的参数是一个路径数组。所以你的代码应该是:

    seeder.loadModels(['./model.js']);
    

    【讨论】:

    • 是的,我解决了这个问题。现在是另一个问题。它说。错误:未在 Mongoose 中注册的模型:ImageSchema
    • 这很奇怪。你能展示你的文件夹结构吗?
    • 是的。我已经更新了帖子。看看帖子的最后一部分。他们seed.jsmodel.js都在同一个目录seeder/
    • 我没有看到任何其他问题。只是猜你忘了保存一些文件。
    猜你喜欢
    • 2016-07-16
    • 2021-11-28
    • 1970-01-01
    • 2018-06-11
    • 2018-06-29
    • 1970-01-01
    • 2021-10-20
    • 2017-08-21
    • 2019-06-14
    相关资源
    最近更新 更多