Meteor将自定义字段添加到Meteor.users:我应该这样做吗?

时间:2014-07-09 12:51:11

标签: mongodb meteor scalability

我正在使用Meteor创建一个Web服务。

我正在设计模型,我遇到了一个棘手的问题:Mongo不适用于连接。但是,我必须在逻辑上将用户与订阅关联(这是一个包含许多属性的对象)。

因此,我的问题是:

我应该将订阅模型嵌入到Meteor.users集合中,还是应该创建一个名为" Subscriptions"并通过手动连接战斗我的方式?我对使用第一个解决方案犹豫不决的原因是Meteor.users是由Meteor的帐户和密码框架处理的集合。当然,你可以嵌入一个"简介"创建后的对象,但这种方法后来如何扩展?

我很感激任何有关此事的见解......

1 个答案:

答案 0 :(得分:2)

我使用Meteor.users集合来存储自定义数据,没有什么可以阻止您通过添加其他字段来修改它,请记住以下内容:

  1. Meteor特别处理某些领域,小心不要破坏它们。
  2. 默认情况下,只允许用户查看自己的个人资料,用户名和ID,如果您希望用户能够查看其他字段,例如自定义&#,则需要编写自己的出版物39;订阅'集合。
  3. Meteor使用的几个字段对安全性敏感,在编写逻辑以允许用户更新订阅时,您需要注意不要让用户编辑这些字段。
  4. http://docs.meteor.com/#meteor_users

    <强>更新

    我不完全确定将订阅添加到用户记录的性能影响,因为我不确切知道您将在订阅中存储的内容,或者您​​希望如何使用那些数据。我们倾向于在我们的应用程序中大量使用特定于用户的订阅,例如:

    Meteor.publish({
     'userSubscriptions': function () {
       return Subscriptions.find({userId: this.userId});
     }
    })