Mongo聚合过滤器

时间:2013-04-30 20:58:28

标签: mongodb aggregation-framework

我们有几个map-reduce作业在调度程序上运行并为我们聚合一些计数。我们想将这些转换为实时聚合调用。问题是,map-reduce的所有无限灵活性为它运行的集合统计了4个不同的计数。比如:

var result =
    {
        MessageId: this.MessageId,
        Date: this.Created,
        Queued : (this.Status == 0 ? 1 : 0),
        Sent : (this.Status == 1 ? 1 : 0),
        Failed : (this.Status == 2 ? 1 : 0),
        Total : 1,
        Unsubscribes: 0
    };

如果我在SQL中,我认为我不能用一个GROUP BY / SUM来解决这个问题,因为我需要为每个SUM使用不同的过滤器。是否有可能在mongo中,或者我是否需要使用不同的$ match子句运行4个单独的$ group语句?

0 个答案:

没有答案