流星发布和MongoDB
问题描述:
我试图决定或找出哪些选项是最佳实践,当谈到流星发布和MongoDB。流星发布和MongoDB
我有一个组织,将有超过300个用户,我的第一个选项只是增加用户ID阵列组织蒙戈文档并执行以下操作:
Meteor.publish('organizationsUsers', function() {
var organization = Organizations.findOne({_id: this.userId});.fetch();
var usersArray = _.flatten(_.pluck(organization, "users"), true);
return Meteor.users.find({_id: {$in: usersArray}});
});
我的第二个选项,只是增加一个organizationId到每个用户和执行以下操作:
Meteor.publish('organizationsUsers', function() {
var user = Meteor.users.findOne(this.userId);
return Meteor.users.find({organizationId: user.organizationId});
});
随着第一个选项我有MongoDB的具有长阵列和与所述第二个选项其简单。
答
好了一些后,一些快速的研究和周围的一般规则,询问你的领域更是对100个项目这在我的情况下,将超过300最好是去与第二种方法。
此外,当蒙戈查询所有属于与第一个选项蒙戈一个组织中的用户需要整个阵列,并通过指数看起来每个,只有通过索引第二个选项。
只要确保你有organizationID索引,第二个应该总是会更快。 – 2014-12-04 21:32:24