我的格式为
的mongoDB数据{ "_id" : ObjectId("5284a1ac5fac01f0099cc6a8"), "date" : ISODate("2013-11-15T12:40:53Z"), "data_id" : "data_1", "application_id" : "myapplication", "user" : "user_1"}
{ "_id" : ObjectId("5284a1ac5fac01f0099cc6a8"), "date" : ISODate("2013-11-16T12:40:53Z"), "data_id" : "data_2", "application_id" : "myapplication", "user" : "user_2"}
{ "_id" : ObjectId("5284a1ac5fac01f0099cc6a8"), "date" : ISODate("2013-11-16T12:40:53Z"), "data_id" : "data_3", "application_id" : "myapplication", "user" : "user_1"}
我想找到在mongoDB中拥有最多条目的前10位用户。如何使用聚合的$group
,$sort
和count
命令来实现此目的。
答案 0 :(得分:2)
您可以按照以下方式执行此操作:
使用 $ limit ,您可以检索前10位用户。
db.myCollection.aggregate(
{$group : {_id : "$user", "count" : {$sum : 1}}},
{$sort : {"count" : -1}},
{$limit : 10}
)