mongodb – Meteor为Meteor.users添加自定义字段:我应该这样做吗?

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

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

因此,我的问题是:

我应该将订阅模型嵌入到Meteor.users集合中,还是应该创建一个名为“Subscriptions”的新集合并通过手动连接来打击我的方式?我之所以犹豫是否使用第一个解决方案,是因为Meteor.users是一个由Meteor的帐户和密码框架处理的集合.当然,你可以在创建时嵌入一个“profile”对象,但是这种方法后来如何扩展呢?

我将不胜感激任何见解..

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

> Meteor专门处理某些领域,注意不要破坏它们.
>默认情况下,只允许用户查看自己的个人资料,用户名和ID,如果您希望用户能够查看其他字段(例如自定义“订阅”集合),则需要编写自己的出版物.
> Meteor使用的几个字段对安全性敏感,在编写逻辑以允许用户更新订阅时,您需要注意不要让用户编辑这些字段.

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

更新:

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

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