Mongodb 什么是;1“;在群组聚合中说什么?
在以下示例()中,有一个源示例:Mongodb 什么是;1“;在群组聚合中说什么?,mongodb,aggregation-framework,Mongodb,Aggregation Framework,在以下示例()中,有一个源示例: db.article.aggregate( { $group : { _id : "$author", docsPerAuthor : { $sum : 1 }, // here goes the question viewsPerAuthor : { $sum : "$pageViews" } }} ); 我的问题是:1实际上指的是什么(哪个字段)?可以写什么?例如,它可以是$author 一般
db.article.aggregate(
{ $group : {
_id : "$author",
docsPerAuthor : { $sum : 1 }, // here goes the question
viewsPerAuthor : { $sum : "$pageViews" }
}}
);
我的问题是:1
实际上指的是什么(哪个字段)?可以写什么?例如,它可以是$author
一般来说,我应该如何“阅读”这个:
viewsPerAuthor:{$sum:$pageViews}
-是不是“viewsPerAuthor是一个页面视图的总和”?让我们一点一点地看一下:
docsPerAuthor : { $sum : 1 },
这意味着,对于该组中的每个文档(每个作者),创建一个名为docsperautor
的新字段,并通过1
创建$inc
或创建其初始字段值1
viewsPerAuthor : { $sum : "$pageViews" }
表示此组中的每个文档汇总与此特定组匹配的文档的pageViews
字段
这基本上与:
SELECT COUNT(*) as docsPerAuthor, SUM(pageViews) AS viewsPerAuthor
FROM article GROUP BY author
如果未设置字段,则表示$inc by one或从一开始。如果是,则下一行中的
$pageViews
是什么意思?这令人困惑。这意味着对名为pageViews
的字段的总数进行汇总,因此您可以对字段进行汇总,也可以只计算该字段在组中聚合的次数,或者在SQL中选择count(*)作为docsperautor,sum(pageViews)作为作者文章组中的viewsPerAuthor
我认为最好将此线程列为答案-我会批准它:)