返回作为另一个集合中的文档所有者的用户数(Meteor.js)

时间:2014-10-22 04:29:30

标签: mongodb meteor

我希望编写一个函数来返回Meteor用户集合中唯一用户的数量或数量,他们也是另一个集合中文档的所有者,称为ServiceDesks。

例如,如果'用户'中有100个用户(docs)收集,ServiceDesks集合中有30个文档,我想返回唯一用户的计数(30个或更少的唯一用户),这些用户也是ServiceDesks集合中文档的所有者。

我将如何做到这一点?

OR

更简单一点,我如何返回ServiceDesks集合的唯一所有者数量。

1 个答案:

答案 0 :(得分:2)

假设ownerServiceDesks的属性,您可以这样做:

var serviceDesks = ServiceDesks.find({}, {fields: {owner: 1}}).fetch();
var uniqueOwners = _.uniq(_.pluck(serviceDesks, 'owner'));
var count = uniqueOwners.length

或者,如果这只需要在服务器上运行,您可以添加mongodb-server-aggregation包并执行此操作:

var count = ServiceDesks.distinct('owner').length