如何在Meteor中扩展用户模型

How do I extend User model in Meteor?

本文关键字:扩展 用户 模型 Meteor      更新时间:2023-09-26

我对此研究了很长时间,找不到明确的解释。我的流星应用程序安装了用户帐户,登录/注销都很好。然而,我想为我的用户添加一些可选字段,例如年龄、性别等。我该如何做到这一点?请注意,我是流星的新手,所以请明确。

要向useraccounts包提供的用户注册表单添加更多字段,请参阅官方指南的表单字段配置部分

假设你想在注册表中添加一个gender字段,你可以做这样的

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

您要查找的文档是Meteor.users集合。它在";完整的API";在http://docs.meteor.com,这也许可以解释你为什么错过了它。

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

  • username:标识用户的唯一字符串
  • 电子邮件:[…]
  • 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");

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

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