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

Mongodb 如何订阅同一集合中的多个计数,mongodb,meteor,Mongodb,Meteor,我对Meteor很陌生,非常感谢你的建议 我有两个收藏,Meteor用户收藏和一个名为awards的收藏。 awards集合包含一个名为Namedes的字段,该字段包含一个字符串数组,其中包含来自users集合的用户ID。奖项文档如下所示 { "nominees" : [ "fuEaF9mfMDpYzXFh6", "3NBiDrwM63h4J6QKh" ], "reason" : "Award reason...", "nomi

我对Meteor很陌生,非常感谢你的建议

我有两个收藏,Meteor用户收藏和一个名为awards的收藏。 awards集合包含一个名为Namedes的字段,该字段包含一个字符串数组,其中包含来自users集合的用户ID。奖项文档如下所示

{
    "nominees" : [ 
        "fuEaF9mfMDpYzXFh6", 
        "3NBiDrwM63h4J6QKh"
    ],
    "reason" : "Award reason...",
    "nominator" : "HRD5ozqMNcx6boXQR",
    "_id" : "ozi6wio9EdStvja9J"
}
我需要有一个排名表上的客户与最提名的奖项的用户

我见过一些收集所有文件的样本。比如说

但是我希望客户端上有一个字典数组,每个用户有一个条目,有两个值,用户id和用户提名的总数

我可以运行类似这样的操作来获取所需的数据,但如果对客户端集合应用了限制,则这仅在服务器上是准确的,我需要一种将此数据获取到客户端的方法

我假设我需要发布一个订阅,在客户端上订阅,并在客户端上为此创建一个本地集合,但我不确定该如何进行

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

任何帮助都将不胜感激。

需要联系吗?如果不是,那么在客户端无法完成的聚合最容易通过使用方法调用来完成。理想情况下,这就是我想要的。当我试图通过一个方法来实现这一点时,我很难理解如何从异步方法获取数据,我知道我必须添加回调,但如何引用返回的数据。最简单的方法是将返回的数据存储到会话变量(或其他反应性数据源)中然后在助手中使用相同的变量。