【问题标题】:Extending the users package of mean.io扩展 mean.io 的用户包
【发布时间】:2025-11-29 17:30:01
【问题描述】:

我正在尝试使用 MEAN.io 创建体育赛事管理系统应用程序 由于它使用模块化方法,因此框架应用程序中有不同的包,如systemusersaccess。我想做的是制作一个名为players 的新包,它应该扩展用户包。玩家模式将包含额外字段sectionteams。那么如何在players 包中扩展users 包的用户模式?

【问题讨论】:

    标签: node.js mongoose mean-stack mean.io


    【解决方案1】:

    你可以让你的玩家包依赖于用户。

    Players.register(function(app, auth, users, database) {...});

    您现在可以访问数据库并可以使用

    加载用户架构

    var userModel = database.connection.model('User');

    您可以使用 schema.add 函数来扩展架构

    userModel.schema.add({ scrore: 'string'});

    这应该将 score 字段添加到用户模型中

    我认为这可能对你有用。但我从 mongoose 团队的成员那里得知 schema.add 仅在编译模型之前有效。有关架构的更多信息,请参阅此链接添加 http://mongoosejs.com/docs/api.html#schema_Schema-add

    【讨论】:

    • 好的,我把它保存在玩家包的 app.js 中,它可以工作。但是我们如何从 player/models.js 中做到这一点。我不想在 app.js 中保留扩展架构
    • 为什么 mean.io 不将用户和访问包保存在已发布的包中?我认为将这些包保存在 node_modules 中会更好,而不是包含在默认的骨架应用程序中。
    • 嗨,Deepak,在即将发布的下一个版本中,用户、访问权限等将是作为网络一部分的适当软件包。我们可能很快就会写博客。回复:使用model.js,由于覆盖依赖关系,这是一个问题。在 github 上为此打开一个问题,我们可以正式解决它
    • 我急切地等待下一个版本:)