今天的工作还是继续昨天没有完成的,由于对mongodb数据库的不熟悉,导致昨天的思路上也出了一点问题,我需要查询出同一个ruleID中不同的processingID的条数,然后根据条数来排列先后顺序,如果条数相等的情况下,就根据updateTime再排序。
昨天的思路是先按数量排序,然后再根据ruleID查出最后的修改时间,因为那个时候实际上还是没有理解group几个参数的真正意思,尤其是对于reduceFunction根本就是硬套。所以代码就写成了
groupBy=GroupBy.key("processingMethodID").initialDocument("{count:0}")
.reduceFunction("function(doc,prev){prev.count++}");
直到今天,自己在网上查了一堆的资料再结合mongodbVUE之后,总算是初步了知道了reduceFunction的意思。在它里边实际上可以进行一些逻辑运算,从而得到自己想要的结果,因此我的思路就可以直接变成查询出ruleID和count和最后的操作时间,相对于昨天也就减少了很多步,代码就可以变化成
groupBy=GroupBy.key("processingMethodID").initialDocument("{count:0,maxUpdateTime:0}").reduceFunction("function(doc,prev){prev.count++;if(prev.maxUpdateTime-doc.updateTime<0)" +
"{prev.maxUpdateTime=doc.updateTime;}}");
虽然group之后应该可以直接进行排寻,但是因为我对排序还不懂,所以只能用这个方法暂时解决我需要解决的问题,好在最终成功了。
相关文章
- 04-22关于百度编辑器用到easyUI的dialog中的时候,第一次打开dialog可以显示编辑器,第二次打开失效的问题
- 04-22【Leetcode】查找二叉树中任意结点的最近公共祖先(LCA问题)
- 04-22Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5个样本)——概率预测
- 04-22Keras之ML~P:基于Keras中建立的简单的二分类问题的神经网络模型(根据200个数据样本预测新的5+1个样本)——类别预测
- 04-22链表头插中遇到的二级指针问题
- 04-22树莓派3b+学习笔记(二):使用中遇到的一些问题
- 04-22input type file onchange上传文件的过程中,遇到同一个文件二次上传无效的问题。
- 04-221. 函数的上下文—即函数中this指向问题(二)
- 04-22关于在VI中查看BIN文件二进制值不对的问题
- 04-22第3章 二叉树问题(找到搜索二叉树中的两个错误节点)