Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Meteor向Meteor添加自定义字段。用户:我应该这样做吗?_Mongodb_Meteor_Scalability - Fatal编程技术网

Mongodb Meteor向Meteor添加自定义字段。用户:我应该这样做吗?

Mongodb Meteor向Meteor添加自定义字段。用户:我应该这样做吗?,mongodb,meteor,scalability,Mongodb,Meteor,Scalability,我正在使用Meteor创建一个web服务 我正在设计模型,我偶然发现了一个难题:Mongo不是设计用来处理连接的。但是,我必须在逻辑上将用户与订阅关联(订阅是一个包含许多属性的对象) 因此,我的问题是: 我应该将订阅模型嵌入Meteor.users集合中,还是应该创建一个名为“订阅”的新集合,并通过手动加入进行斗争?我之所以犹豫使用第一个解决方案,是因为Meteor.users是由Meteor的帐户和密码框架处理的集合。当然,您可以在创建时嵌入一个“profile”对象,但是这个方法以后如何扩展

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

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

因此,我的问题是:

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


如果您对此有任何见解,我将不胜感激。

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

  • 流星对某些领域进行了特别处理,小心不要破坏它们
  • 默认情况下,用户只允许查看自己的配置文件、用户名和id。如果希望用户能够查看其他字段,如自定义“订阅”集合,则需要编写自己的出版物
  • Meteor使用的几个字段是安全敏感的,在编写允许用户更新订阅的逻辑时,您需要注意不允许用户编辑这些字段
  • 更新:

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

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