"1"在组聚合中说了什么?



在以下示例(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是pageViews的总和"?

让我们一点一点地过一遍:

docsPerAuthor : { $sum : 1 },

表示对于该组中的每个文档(每个作者)创建一个名为docsPerAuthor的新字段,并将$inc改为1或将其初始字段值设置为1

viewsPerAuthor : { $sum : "$pageViews" }

表示对该组中的每个文档求和与该特定组匹配的文档的pageViews字段。

基本等同于:

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

相关内容

  • 没有找到相关文章

最新更新