org.bson.codecs.configuration.CodecConfigurationException

org.bson.codecs.configuration.CodecConfigurationException

mongodb的聚合查询,里面包含枚举类型的查询时, 要转成String再做查询,否则会报:

org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class  ...

记录一下.

例如下例中的SearchLogType.USER.toString()

    try {
      Criteria rightIntervalCR = Criteria.where("time").lt(rightIntervalDate);
      Criteria leftIntervalCR = Criteria.where("time").gte(leftIntervalDate);
      Criteria onlineCR = Criteria.where("type").is(SearchLogType.USER.toString());//只查询线上问的日志
      String[] groupUseFields = {"userid"};
      AggregationOperation matchOperation = new MatchOperation(leftIntervalCR.andOperator(onlineCR, rightIntervalCR));
      AggregationOperation groupOperation = new GroupOperation(Fields.fields(groupUseFields));
      AggregationOperation[] aggregationOperations = new AggregationOperation[2];
      aggregationOperations[0] = matchOperation;
      aggregationOperations[1] = groupOperation;
      Aggregation aggregation = Aggregation.newAggregation(aggregationOperations);
      AggregationResults<String> aggregationResults = mongoOperation.aggregate(aggregation, logCollectionName, String.class);
      List<String> useridList = aggregationResults.getMappedResults();
      if (useridList != null) {
        for (String userid : useridList) {
          JsonObject useridJsonObject = GsonFactory.getGsonClient().fromJson((String) userid, JsonObject.class);
          String useridStr = useridJsonObject.get("_id").getAsString();
 
        }
      }

    } catch (Exception e) {
      e.printStackTrace();
    }

 

 

转载于:https://my.oschina.net/airship/blog/2252081

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101353.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • kali linux 云服务器,云服务器安装kali linux

    kali linux 云服务器,云服务器安装kali linux前言在网上可以搜索到2种在腾讯云服务器上安装kali系统的方法:第一种方法:通过挂载云硬盘到云服务器上,将kali镜像刻录到挂载的云硬盘中,利用VNC可视化安装kali系统;查看详情第二种方法:在本地搭建好kali虚拟机环境,然后通过制作符合腾讯云的kali镜像上传到腾讯云对象存储桶,利用重置系统自定义镜像功能进行安装kali;查看详情以上两中方法博主都尝试过,第一种方法安装成功过一次,而…

    2022年5月10日
    45
  • HttpServlet 笔记

    HttpServlet 笔记HttpServlet 类包含 doGet doPost doPut doDelete doHead doOptions doTrace doGet 与 doPost 的区别 doGet 和 doPost 两个方法根据 HTTP 请求的不同会被分别调用 二者明显的区别是在使用 doGet 方法时请求 URL 会包含所要传递的参数 而在使用 doPost 方法时则不会 产生这种区

    2025年10月5日
    2
  • 基于51单片机的八路抢答器设计开题报告_8路抢答器设计51单片机

    基于51单片机的八路抢答器设计开题报告_8路抢答器设计51单片机随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以STC89C52RC单片机为核心的八路抢答器。所需元器件如下:…

    2022年10月20日
    2
  • 美团js面试题

    美团js面试题转载自:http://blog.csdn.net/qq_27682041/article/details/76408681该题难度系数:★★★考查的技术点:1).作用域与作用域链 2).变量查找这题分为两小题,我们先看第一题:[javascript] viewplain copyvar fn = funct

    2022年8月27日
    4
  • python解释器与编译器_pycharm python解释器

    python解释器与编译器_pycharm python解释器第一部分Python语言基础第一节课Python简介以及Python和Pycharm安装和配置知识点:1、Python简介什么是Python?Python的起源和发展。Python的优势。2、为什么要用PythonPython和其它语言有什么不一样的地方。3、Python和Pycharm安装部署(重)内容:1、Python1)什么是Pytho…

    2022年8月27日
    3
  • Activiti工作流框架学习笔记(一)「建议收藏」

    Activiti工作流框架学习笔记(一)「建议收藏」工作流的概念先看下面两张图:对以上两张图进行说明:假设这两张图就是华谊兄弟的请假流程图图的组成部分:人物:范冰冰、冯小刚、王中军事件(动作):请假、批准、不批准通过以上分析我们就可以抽象成:接下来给出工作流的书面化概念:工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、

    2022年10月6日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号