在以下示例(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是网页浏览"
答案 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