如何在Meteor中扩展用户模型?

时间:2015-04-02 21:13:18

标签: javascript class meteor

我一直在研究这个问题并且找不到明确的解释。我的meteor app安装了用户帐户,登录/退出工作正常。但是,我想为用户添加一些可选字段,例如年龄,性别等。我该如何进行此操作?请注意,我是Meteor的新手所以请明确。

3 个答案:

答案 0 :(得分:3)

要在useraccounts个软件包提供的用户注册表单中添加更多字段,请参阅官方Form Fields Configuration

Guide部分

假设您要在注册表单中添加gender字段,可以执行以下操作

AccountsTemplates.addField({
  _id: "gender",
  type: "select",
  displayName: "Gender",
  select: [
    {
      text: "Male",
      value: "male",
    },
    {
      text: "Female",
      value: "female",
    },
  ],
});

答案 1 :(得分:2)

您正在寻找的文档是Meteor.users集合。它位于http://docs.meteor.com的“完整API”下,这可以解释为什么你错过了它。

  

用户文档可以包含您要存储的有关用户的任何数据。 Meteor专门处理以下领域:

     
      
  • 用户名:标识用户的唯一字符串。
  •   
  • 电子邮件:[...]
  •   
  • createdAt:创建用户文档的日期。
  •   
  • profile:用户可以使用任何数据创建和更新的对象。除非您在Meteor.users集合上有拒绝规则,否则不要在您不希望用户编辑的配置文件中存储任何内容。
  •   
     

[...]

     

默认情况下,当前用户的用户名,电子邮件和个人资料会发布到客户端。您可以使用以下命令为当前用户发布其他字段:

// server
Meteor.publish("userData", function () {
  if (this.userId) {
    return Meteor.users.find({_id: this.userId},
                             {fields: {'other': 1, 'things': 1}});
  } else {
    this.ready();
  }
});

// client
Meteor.subscribe("userData");

答案 2 :(得分:1)

检查简单模式包,这个包有一个

的例子

https://atmospherejs.com/aldeed/simple-schema