文档章节

org.bson.codecs.configuration.CodecConfigurationException

Airship
 Airship
发布于 2018/10/24 23:37
字数 190
阅读 71
收藏 0

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();
    }

 

 

© 著作权归作者所有

共有 人打赏支持
Airship
粉丝 41
博文 965
码字总数 20029
作品 0
南京
高级程序员
私信 提问

暂无文章

Mysql(Mariadb)数据库主从复制

Mysql主从复制的实现原理图大致如下: MySQL之间数据复制的基础是以二进制日志文件(binary log file)来实现的,一台MySQL数据库一旦启用二进制日志后,其作为master,它数据库中所有操作都...

xiangyunyan
19分钟前
0
0
Android 自定义Path贝塞尔曲线View实践——旋转的花朵

一、关于贝塞尔曲线 在工业设计方面贝塞尔曲线有很多用途,同样,在Android中,贝塞尔曲线结合Path类可以实现更复杂的图形,这里我们给一个案例,来实现一种旋转的花朵。对于贝赛尔曲线的理解...

IamOkay
23分钟前
0
0
7、redis主从复制和sentinel配置高可用

一:redis主从配置 1、环境准备 master : 192.168.50.10 6179 slave1: 192.168.50.10 6279 slave2: 192.168.50.10 6379 2、redis.conf配置文件配置 master port 6179......

刘付kin
32分钟前
1
0
OSChina 周日乱弹 —— 我重新说

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享矢野立美的单曲《LOVE Theme from TIGA <M-2>》: 《LOVE Theme from TIGA <M-2>》- 矢野立美 手机党少年们想听歌,请使劲儿戳...

小小编辑
今天
110
7
Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部