Mongoose:将模型嵌入另一个模型的数组中

时间:2016-07-15 17:20:58

标签: mongoose mongoose-schema

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

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 个答案:

答案 0 :(得分:0)

这对我有用:

<强> 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)
     });