spring - 查询获取 Spring 中 MongoDb 的前 10 名用户
问题描述
所以基本上我有一个看起来像这样的集合(省略其他字段):
[{
user: mail1@test.com
},
{
user: mail1@test.com
},
{
user: mail1@test.com
},
{
user: mail2@test.com
},
{
user: mail2@test.com
},
{
user: mail3@test.com
}
]
我正在寻找一种查询 MongoDB 的方法,以获得前 10 名活跃用户(DB 中记录最多的用户)。有没有一种简单的方法来获得这个,也许只是使用界面?
解决方案
也许一个简单的组聚合会给你所需的结果?
db.Users.aggregate(
[
{
$group: {
_id: "$user",
count: { $sum: 1 }
}
},
{
$sort: { count: -1 }
},
{
$limit: 10
},
{
$project: {
user: "$_id",
_id: 0
}
}
])
推荐阅读
- asp.net-core - 按用户偏好动态设置文化不起作用
- r - 调整 Shiny RMarkdown 报告中的大图大小
- javascript - Firefox 68.7.0esr 无法打开 html 文件
- c# - C# WPF Datagrid 在集合更改后不更新
- r - 使用 rvest 提取 url - 返回 {{article.Link}} 而不是链接?
- python - 聚合几个 pandas 数据框
- .net-core - 使用 Swashbuckle 在 Swagger 中显示 object[] 的对象类型
- javascript - 赛普拉斯在规范文件中找不到测试
- c# - 如何使用 UDP ping 远程服务器
- c# - 在 ObservableCollection 中反序列化 Json 字符串