【发布时间】:2019-03-24 03:02:28
【问题描述】:
我有以下问题。
db.Collection.aggregate([
{
"$match":{
"index": 1
}
},
{
"$addFields":{
"DATE": $var1
"array":"$array1
}
}
])
这是查询的结果。
输出1
{
"DATE" : 181019
"array" : 100,101,105,106,201,205,208,209
}
...
...
我将获得 $group 结果。 我将使用 $array1。
db.Collection.aggregate([
{
{
$group:{
"_id":"$array1",
"count":{"$sum" : 1}
}
},
{
$sort: {"count" : -1}
}
}
])
输出2
{
"_id" : [
100,
101,
105,
106,
201,
205,
208,
209],
"count" : 4.0
}
“count”结果将复制到所有结果中。
但是 $group 会产生一个糟糕的结构来读取所有数据。
如何将所有 OUTPUT1 与 OUTPUT2 的 $group "count" 合并?
{
"$addFields":{
"DATE": $var1
"array":"$array1
"count": $count
}
}
使用 $group "count",但我不想要 $group 结构。
{
"DATE" : 181019
"array" : 100,101,105,106,201,205,208,209
"count" : 4.0
},
{
"DATE" : 181019
"array" : 103,104,105,106,201,205,208,210
"count" : 12.0
}
...
...
【问题讨论】:
-
您能否展示您收藏中的示例文档?
-
于是我找到了答案。感谢您的评论。
标签: mongodb mongodb-query aggregation-framework