如何从同一个集合中订阅多个计数

时间:2014-11-20 19:20:36

标签: mongodb meteor

我对Meteor很陌生,我真的很感激一些建议。

我有两个集合,Meteor用户集合和一个名为awards的集合。 奖项集合包含一个名为nominees的字段,其中包含一个字符串数组,其中包含来自users集合的用户_ids。奖项文件看起来像这样。

{
    "nominees" : [ 
        "fuEaF9mfMDpYzXFh6", 
        "3NBiDrwM63h4J6QKh"
    ],
    "reason" : "Award reason...",
    "nominator" : "HRD5ozqMNcx6boXQR",
    "_id" : "ozi6wio9EdStvja9J"
}

我需要在客户端上为获得最多提名奖项的用户提供一张联赛表。

我已经看到一些样本用于收集集合中所有文档的计数。例如Meteor subscribe to a count

但我希望客户端上的字典数组类似于每个用户一个条目,其中包含两个值,即用户_id和用户提名总数。

我可以运行这样的东西来获取我需要的数据但是如果在客户端集合上应用了限制,这只在服务器上是准确的,我需要一种方法将这些数据提供给客户端。

我假设我需要发布订阅,在客户端订阅并在客户端上为此创建本地收藏,但我不确定我是怎么做的。 d谈谈这个。

Meteor.users.find().fetch().map(function(it) {
  return {
    'fullName': it.profile.fullName,
    'awardsCount': Awards.find({
      nominees: {
        $in: [it._id]
      }
    }).count()
  };
});

非常感谢任何帮助。

0 个答案:

没有答案