扩展 mean.io 的用户包
Posted
技术标签:
【中文标题】扩展 mean.io 的用户包【英文标题】:Extending the users package of mean.io 【发布时间】:2014-11-05 01:14:13 【问题描述】:我正在尝试使用 MEAN.io 创建体育赛事管理系统应用程序
由于它使用模块化方法,因此框架应用程序中有不同的包,如system
、users
、access
。我想做的是制作一个名为players
的新包,它应该扩展用户包。玩家模式将包含额外字段section
和teams
。那么如何在players
包中扩展users
包的用户模式?
【问题讨论】:
【参考方案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 上为此打开一个问题,我们可以正式解决它 我急切地等待下一个版本:)以上是关于扩展 mean.io 的用户包的主要内容,如果未能解决你的问题,请参考以下文章
使用更多表单字段扩展奏鸣曲用户包,获取无法加载类型“Application\Sonata\UserBundle\Form\RegistrationType”