猫鼬:将模型嵌入为另一个模型的数组

Mongoose: Embed a model as array of another model

我有一些菜单项具有某些角色,这些角色限制了指向它们的链接。

1. RoleModel.js

     const MenuRoleSchema = new mongoose.Schema ({
          name: { type: String, unique: true}, { _id: true });

     exports.MenuRoleModel = mongoose.model('MenuRoleModel', MenuRoleSchema, 'menu_role');

2。 MenuItemModel.js

    const MenuItemSchema = new mongoose.Schema({
      ......
      roles: [ { type: MenuRoleModel } ] 
    });

3。 MenuItemSeed.js

   const data = [
          {
            .....
            "roles": [{"name": "RoleA"}],
          },
          {
            ....
            "roles": [{"name": "RoleA"}, {"name": "RoleB"}],
          }

        ]

我的 MenuItemModel 没有填充到数据库中,自然不会提供错误。

我将如何构建我的架构,以便当前为角色布置的种子数据有效?

谢谢

这对我有用:

1. RoleModel.js

    (1)export const MenuRoleSchema = new mongoose.Schema ({
      name: { type: String, unique: true}, { _id: true });

    exports.MenuRoleModel = mongoose.model('MenuRoleModel', MenuRoleSchema, 'menu_role');

2。 MenuItemModel.js

     (2)import {MenuRoleSchema} from './RoleModel';

        const MenuItemSchema = new mongoose.Schema({
        ......
        roles: [ { type: MenuRoleSchema } ] (3)
     });