扩展 mean.io 的用户包

Posted

技术标签:

【中文标题】扩展 mean.io 的用户包【英文标题】:Extending the users package of mean.io 【发布时间】:2014-11-05 01:14:13 【问题描述】:

我正在尝试使用 MEAN.io 创建体育赛事管理系统应用程序 由于它使用模块化方法,因此框架应用程序中有不同的包,如systemusersaccess。我想做的是制作一个名为players 的新包,它应该扩展用户包。玩家模式将包含额外字段sectionteams。那么如何在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 的用户包的主要内容,如果未能解决你的问题,请参考以下文章

js-bson:使用纯JS版本加载c++ bson扩展失败

用户未在 MEAN Stack 中获得授权?

扩展 Sonata 用户包和自定义操作

使用更多表单字段扩展奏鸣曲用户包,获取无法加载类型“Application\Sonata\UserBundle\Form\RegistrationType”

未读取扩展 Sonata 用户类中的注释

R扩展写入本地数据