通过聚合框架传输各种文档后,我终于有了结果文档。
现在的问题是我只想要 $first 和 $last 文档。
最终的文件看起来像这样(巨大的列表):
...
{
"_id" : "Kaila Deibler",
"count" : 406
},
{
"_id" : "Jessika Dagenais",
"count" : 406
},
{
"_id" : "Tamika Schildgen",
"count" : 404
},
...
我用来生成文档的 mongo shell 命令是:
db.talks.aggregate([{$project: {_id: 0, comments: "$comments"}}, {$unwind: "$comments"}, {$group: {_id: "$comments.author", count: {$sum: 1}}}, {$sort: {count: -1}}])
但我只需要第一个和最后一个文件,所以我尝试了这样的事情:
db.talks.aggregate([{$project: {_id: 0, comments: "$comments"}}, {$unwind: "$comments"}, {$group: {_id: "$comments.author", count: {$sum: 1}}}, {$sort: {count: -1}}, {$first: "$_id"}])
我尝试了其他实现,但似乎无法弄清楚何时/何地实现$first
和$last
有什么建议么?