我希望编写一个函数来返回Meteor用户集合中唯一用户的数量或数量,他们也是另一个集合中文档的所有者,称为ServiceDesks。
例如,如果'用户'中有100个用户(docs)收集,ServiceDesks集合中有30个文档,我想返回唯一用户的计数(30个或更少的唯一用户),这些用户也是ServiceDesks集合中文档的所有者。
我将如何做到这一点?
OR
更简单一点,我如何返回ServiceDesks集合的唯一所有者数量。
答案 0 :(得分:2)
假设owner
是ServiceDesks
的属性,您可以这样做:
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