Java连接MongoDB所需要实现得 org.springframework.data.mongodb.core.mapreduce.GroupBy

匿名 (未验证) 提交于 2019-12-02 21:40:30

分组查询主要使用org.springframework.data.mongodb.core.mapreduce.GroupBy这个spring中的类:

例:

GroupBy groupBy = GroupBy.key("logonIp")
.initialDocument(initial)
.reduceFunction(reduceFunction);
GroupByResults<T> results = mongoTemplate.group(criteria,
"sessions", groupBy, T.class);

GroupBy.key('key'): key是所进行分组字段的字段名;

initial : 初始化对象,可理解为最后查询返回的数据初始化;

reduceFunction: js函数,用于对返回的结果进行处理操作;

function(doc,result){}:

doc是根据查询条件(相当于where条件)获取的每一条数据,result是最后的查询结果,初始值就是initial对象;

查询操作:

mongoTemplate.group(criteria,"session", groupBy, T.class);

criteria:相当于SQL中的where条件;

session: 数据库中的表名;

groupBy: -以上;

T.class: 这里是数据库表对应的domain

获取结果转为BasicDBList,"retval"是固定值,必须是它;

obj.getString("key");

key为initial中的key值,通过以上代码获取key值对应的value;

文章来源: https://blog.csdn.net/weixin_42726306/article/details/91398325
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!