zoukankan      html  css  js  c++  java
  • mongoTemplate.group分组查询

         
    //查询条件
    Criteria criteria = Criteria.where("version").is("202101011020"); criteria.andOperator(Criteria.where("packageStatus").is("0")); GroupBy groupBy=new GroupBy("province").initialDocument("{collection:[]}").reduceFunction("function(doc,pre){pre.collection.push({creationTime:doc.creationTime,cardId:doc.cardId,type:NumberInt(doc.type),status:NumberInt(doc.status)});}"); GroupByResults<MappedResult> results = mongoTemplate.group(criteria, "CARD_BLACK_DETAIL", groupBy, MappedResult.class); //province:分组的key
    //
    initialDocument:分组后结果
    //reduceFunction:想要返回的字段值,doc为源数据,pre为分组后要显示的数据
    //MappedResult可以使用Document直接代替
    如果要使用自定义的实体时,实体必须要和GroupByResults返回的要一致,即:分组的key:province和返回的结果collection,
    见下图,
    否则的话查询出的mappedResults会为空

     如果不使用mappedResults也可以通过results.getRawResults().get("retval", ArrayList.class)来获取执行结果。

    1.01^356=37.8
    0.99^365=0.03
  • 相关阅读:
    用Html+Js实现的“自动补全”功能
    利用js为table添加行
    Flex 当鼠标悬停在DataGrid某行上时用datatoolField显示当前行
    Flex中设置编译器参数
    Linux2 在Linux(CentOS)上配置SSH免登陆
    线程笔记
    I/O
    网络编程
    Linux基础
    进程间的通信
  • 原文地址:https://www.cnblogs.com/wlv1314/p/15206845.html
Copyright © 2011-2022 走看看