【发布时间】:2014-09-05 21:33:39
【问题描述】:
我在 mongodb 中学习聚合。我正在处理该系列:
{
"body" : ""
,
"email" : "oJJFLCfA@qqlBNdpY.com",
"author" : "Linnie Weigel"
},
{
"body" : ""
,
"email" : "ptHfegMX@WgxhlEeV.com",
"author" : "Dinah Sauve"
},
{
"body" : ""
,
"email" : "kfPmikkG@SBxfJifD.com",
"author" : "Zachary Langlais"
}
{
"body" : ""
,
"email" : "gqEMQEYg@iiBqZCez.com",
"author" : "Jesusa Rickenbacker"
}
]
我尝试获取每个作者的正文数量。但是当我执行命令 sum of aggregate mongodb 时,结果是 1(因为结构只有一个元素)。我该怎么做这个操作?我尝试使用 $addToSet。但是我不知道如何获取集合的每个元素并进行操作。
【问题讨论】:
-
能否请您附上您使用的代码?这也是你的 mongodb 大学作业吗?
-
你说“执行命令总和”——没有这样的命令。您是在谈论 $group 阶段,您可以在其中使用 $sum 运算符来获得答案(只要您在正确的字段上分组)。
-
我的代码是 var group = {$group:{_id:"$author",total:{$addToSet:"$cmets.author"}}}:
-
var group1 = {$group:{id:"$total",count:{$sum:1}}};db.posts.aggregate([group,group1})
-
结果是作者的名字和计数1。这是错误的。我想找到作者和尸体的数量。我怎样才能获得和排列所有作者,然后对身体进行计数
标签: mongodb mongodb-query aggregation-framework