我有一个集合,其中每个文档都有用户相关的详细信息。 用户ID:1001,ABC:1 用户ID:1001,ABC:9 用户ID:1002,ABC:1 用户ID:1001,ABC:3
像这样的东西。 我想得到最大出现次数的userId。 我需要在Mongo shell上执行此操作。
有什么想法吗?
答案 0 :(得分:2)
检查mongo的aggregation framework。对于答案,您可以使用$ group运算符按用户ID进行分组并根据计数进行排序。像这样:
假设集合名称为test:
db.test.aggregate([{ “$组”:{ “_ ID”: “$用户ID”, “occurence”:{ “$总和”:1}}},{$排序:{ “occurence”: -1}}])