网上找了很多贴,都没有明确给出方案,自己看了Spring mongo 支持文档和 mongo官方doc之后 得出可以用Aggregation 来轻松实现按字段分组后再分页:下面贴出具体代码
1.mongo shell :
db.getCollection('brief_report').aggregate([
{
"$match" : {
"from_user_id" : 438 ,
"enterprise_id" : 1 ,
"report_type_code" : "350020" ,
"is_deleted" : false
}
} ,
{
"$group" : {
"_id" : "$deadline" ,
"count" : { "$sum" : 1} ,
"objectId" : { "$push" : "$_id"} ,
"statusCodes" : { "$push" : "$status_code"}
}
} ,
{
"$sort" : { "_id" : -1}
} ,
{
"$limit" : 10
}
]);
2.java代码:

3.实验的过程中踩了一个坑,就是鬼使神差的把sort放到最后

本文介绍了如何使用MongoDB的Aggregation框架实现按字段分组和分页查询。通过示例展示了$match、$group、$sort和$limit的操作顺序对结果的影响,并强调了在大数据分页时避免使用skip以优化查询性能。同时,讨论了MongoDB的mapReduce功能及其优缺点,并提供了官方文档链接以供进一步学习。
最低0.47元/天 解锁文章

213

被折叠的 条评论
为什么被折叠?



