Spring 查询从MongoDb获取春季前10名用户
所以基本上我有一个集合,看起来像这样(其他字段省略): ]Spring 查询从MongoDb获取春季前10名用户,spring,mongodb,spring-boot,Spring,Mongodb,Spring Boot,所以基本上我有一个集合,看起来像这样(其他字段省略): ] 我正在寻找一种查询MongoDB的方法,以获得前10名活动用户(DB中记录最多的用户)。有没有一种简单的方法可以实现这一点,也许只是使用界面?也许一个简单的组聚合将为您提供所需的结果 db.Users.aggregate( [ { $group:{ _id:“$user”, 计数:{$sum:1} } }, { $sort:{count:-1} }, { 限额:10元 }, { $项目:{ 用户:“$\u id”, _身份证号码:0 }
我正在寻找一种查询MongoDB的方法,以获得前10名活动用户(DB中记录最多的用户)。有没有一种简单的方法可以实现这一点,也许只是使用界面?也许一个简单的组聚合将为您提供所需的结果
db.Users.aggregate(
[
{
$group:{
_id:“$user”,
计数:{$sum:1}
}
},
{
$sort:{count:-1}
},
{
限额:10元
},
{
$项目:{
用户:“$\u id”,
_身份证号码:0
}
}
])
也许一个简单的组聚合将为您提供所需的结果
db.Users.aggregate(
[
{
$group:{
_id:“$user”,
计数:{$sum:1}
}
},
{
$sort:{count:-1}
},
{
限额:10元
},
{
$项目:{
用户:“$\u id”,
_身份证号码:0
}
}
])
对于聚合,有一种称为$sortByCount
的方法
List<UserCount> getTop10UserCount() {
return mongoTemplate.aggregate(
newAggregation(
User.class,
sortByCount("user"),
limit(10),
project("_id", "count")
),
UserCount.class
);
}
static class UserCount {
String _id;
Integer count;
// constructors, getters or setters..
}
List getTop10UserCount(){
返回mongoTemplate.aggregate(
新聚合(
User.class,
sortByCount(“用户”),
限制(10),
项目(“\u id”,“count”)
),
UserCount.class
);
}
静态类用户计数{
字符串_id;
整数计数;
//构造函数、getter或setter。。
}
对于聚合,有一种称为$sortByCount
的方法
List<UserCount> getTop10UserCount() {
return mongoTemplate.aggregate(
newAggregation(
User.class,
sortByCount("user"),
limit(10),
project("_id", "count")
),
UserCount.class
);
}
static class UserCount {
String _id;
Integer count;
// constructors, getters or setters..
}
List getTop10UserCount(){
返回mongoTemplate.aggregate(
新聚合(
User.class,
sortByCount(“用户”),
限制(10),
项目(“\u id”,“count”)
),
UserCount.class
);
}
静态类用户计数{
字符串_id;
整数计数;
//构造函数、getter或setter。。
}