我有一个集合,其中每个文档都有用户相关的详细信息。用户标识:1001,abc:1 用户标识:1001,abc:9 用户标识:1002,abc:1 用户标识:1001,abc:3
像这样的东西。我想计算出现次数最多的 userId。我需要在 Mongo shell 上执行此操作。
有任何想法吗?
我有一个集合,其中每个文档都有用户相关的详细信息。用户标识:1001,abc:1 用户标识:1001,abc:9 用户标识:1002,abc:1 用户标识:1001,abc:3
像这样的东西。我想计算出现次数最多的 userId。我需要在 Mongo shell 上执行此操作。
有任何想法吗?
查看mongo的聚合框架。对于答案,您可以使用 $group 运算符按用户 ID 分组并根据计数对其进行排序。像这样的东西:
假设集合名称是 test:
db.test.aggregate([{"$group":{"_id":"$userid","occurence":{"$sum":1}}},{$sort:{"occurence":-1} }])