您好,欢迎访问一九零五行业门户网

在Java中实现MongoDB的Group功能

在非关系型数据库mongodb中,并没有任何现成的框架可以像sql那样通过groupby就轻松实现数据库的分组功能。如果我们想要实现mongodb的group功能,就必须写原生态
接口方法如下:
/*** keycolumn : new string[]{xxxname,xxxtype}
* condition : 查询条件 ,,可为空
* initial : 分组统计初始变量,为空时自动为每列提供初始变量
* reduce : 记录处理function
* finalize : finalize函数,可为空
*/public basicdblist group(string[] keycolumn, dbobject condition,dbobject initial, string reduce, string finalize) {dbcollection coll = getcollection();dbobject key = new basicdbobject();for (int i = 0; i
实现案例:
//任务统计@action(value = gettaskstatistic, results = { @result(name = success, type = json, params = {includeproperties, jsonresult }) })public string gettaskstatistic() {dbobject initial = new basicdbobject();dbobject index = new basicdbobject();index.put(count, 0);index.put(taskstatus, );initial.put(taskstatus, index);string reduce = function (doc, out) { + out.taskstatus.count = out.taskstatus.count+=1; + out.taskstatus.inspectstatus = doc.taskstatus;+ };basicdblist group = (basicdblist) taskstatusservice.group(new string[] { taskstatus}, null, initial, reduce, null);this.jsonresult = group.tostring();return success;}返回数据:
[ { taskstatus : { count : 4.0 , taskstatus : finished}} , { taskstatus : { count : 3.0 , taskstatus : received}} , { taskstatus : { count : 2.0 , taskstatus : unreceive}}]
本文出自 “尘风随影的天空” 博客,请务必保留此出处
其它类似信息

推荐信息