首页 > 解决方案 > 参考其他集合的种子 mongo 数据库

问题描述

我现在正在创建基于 Node.js 和 mongo dB 的应用程序。目前只有 2 个集合:用户和抽认卡。在抽认卡中,有对用户文档 (ObjectId) 的引用 - 遵循以下模式的附加部分(所有冗余字段均已删除)。现在,我想准备一些初始数据,用于在部署时(也可能在测试周期中)播种数据库,但部署在这里至关重要。首先,我需要普通用户(具有“用户”角色的测试用户)和具有“管理员”角色的第二个用户。如何做到这一点?大多数包只是添加数据而没有集合之间的引用。我找到了“殖民”(https://www.npmjs.com/package/colonize)——你觉得这个包怎么样?你推荐一些不同的东西吗?

const FlashcardSchema = new mongoose.Schema({
  userId: {
    type: mongoose.Types.ObjectId,
    ref: "User",
    required: true,
  },
  front: {
    type: String,
    required: true,
  },
  back: {
    type: String,
    required: true,
  }
});
const UserSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true,
    minlength: 3,
    maxlength: 50,
  },
  role: {
    type: String,
    required: true,
    default: Roles.User,
    enum: Object.values(Roles),
  },
});

标签: node.jsmongodbseed

解决方案


推荐阅读