-2

我有一个集合,其中每个文档都有用户相关的详细信息。用户标识:1001,abc:1 用户标识:1001,abc:9 用户标识:1002,abc:1 用户标识:1001,abc:3

像这样的东西。我想计算出现次数最多的 userId。我需要在 Mongo shell 上执行此操作。

有任何想法吗?

4

1 回答 1

2

查看mongo的聚合框架。对于答案,您可以使用 $group 运算符按用户 ID 分组并根据计数对其进行排序。像这样的东西:

假设集合名称是 test:

db.test.aggregate([{"$group":{"_id":"$userid","occurence":{"$sum":1}}},{$sort:{"occurence":-1} }])

于 2013-09-20T17:07:18.937 回答