集約フレームワークを介してさまざまなドキュメントをパイプした後、最終的に結果のドキュメントが得られます。
今の問題は、$first と $last のドキュメントだけが欲しいということです。
最終的なドキュメントは次のようになります (膨大なリスト)。
...
{
"_id" : "Kaila Deibler",
"count" : 406
},
{
"_id" : "Jessika Dagenais",
"count" : 406
},
{
"_id" : "Tamika Schildgen",
"count" : 404
},
...
ドキュメントの作成に使用した mongo シェル コマンドは次のとおりです。
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
助言がありますか?