群组聚合中“1”表示什么?

时间:2013-03-18 09:58:21

标签: mongodb aggregation-framework

在以下示例(http://docs.mongodb.org/manual/reference/aggregation/group/#_S_group)中有一个源示例:

db.article.aggregate(
    { $group : {
        _id : "$author",
        docsPerAuthor : { $sum : 1 }, // here goes the question
        viewsPerAuthor : { $sum : "$pageViews" }
    }}
);

我的问题是: 1 实际上指的是哪个字段?可以写什么呢?例如,$author可以吗?

而且,一般来说 - 我应该如何"阅读" 这个:viewsPerAuthor : { $sum : "$pageViews" } - 它是" viewsPerAuthor是网页浏览"

1 个答案:

答案 0 :(得分:0)

让我们一点一点地了解一下:

docsPerAuthor : { $sum : 1 },

表示对于此组中的每个文档(每位作者),将docsPerAuthor创建一个新字段,$inc创建1或创建其初始字段值1

viewsPerAuthor : { $sum : "$pageViews" }

表示对于此组中的每个文档,总结与此特定组匹配的文档的pageViews字段。

它基本上与:

相同
SELECT COUNT(*) as docsPerAuthor, SUM(pageViews) AS viewsPerAuthor 
       FROM article GROUP BY author