【问题标题】:Meteor adding custom fields to Meteor.users : should I do it?Meteor 向 Meteor.users 添加自定义字段:我应该这样做吗?
【发布时间】:2014-08-30 12:13:38
【问题描述】:

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

我正在设计模型,我偶然发现了一个难题:Mongo 不是为使用连接而设计的。但是,我必须在逻辑上将用户与订阅(这是一个包含许多属性的对象)关联起来。

因此,我的问题是:

我应该将订阅模型嵌入到 Meteor.users 集合中,还是应该创建一个名为“订阅”的新集合并通过手动加入来争取自己的方式?我犹豫使用第一个解决方案的原因是 Meteor.users 是一个由 Meteor 的帐户和密码框架处理的集合。当然,您可以在创建时嵌入“配置文件”对象,但是此方法之后如何扩展?

我将不胜感激对此的任何见解..

【问题讨论】:

    标签: mongodb meteor scalability


    【解决方案1】:

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

    1. Meteor 对某些字段进行了特殊处理,请注意不要破坏它们。
    2. 默认情况下,用户只能看到自己的个人资料、用户名和 ID,如果您希望用户能够看到其他字段,例如自定义“订阅”集合,则需要编写自己的出版物.
    3. Meteor 使用的一些字段是安全敏感的,在编写逻辑以允许用户更新订阅时,您需要注意不允许用户编辑这些字段。

    http://docs.meteor.com/#meteor_users

    更新:

    我不完全确定向用户记录添加订阅对性能的影响,因为我不确切知道您要在订阅中存储什么,或者您想如何使用这些数据。我们倾向于在我们的应用中大量使用用户特定的订阅,例如:

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

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 1970-01-01
      • 2018-09-07
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 2023-04-10
      相关资源
      最近更新 更多