废话不说,上代码

 //链接数据库
MongoClient mongoClient = new MongoClient( "172.26.xxx.xxx" , 27017 ); MongoDatabase mongoDatabase =mongoClient.getDatabase("xxxx"); MongoCollection<Document> collection = mongoDatabase.getCollection("test_logs"); //加入查询条件
BasicDBObject query = new BasicDBObject();
//时间区间查询 记住如果想根据这种形式进行时间的区间查询 ,存储的时候 记得把字段存成字符串,就按yyyy-MM-dd HH:mm:ss 格式来
query.put("times", new BasicDBObject("$gte", "2018-06-02 12:20:00").append("$lte","2018-07-04 10:02:46"));
//模糊查询
Pattern pattern = Pattern.compile("^.*王.*$", Pattern.CASE_INSENSITIVE);
query.put("userName", pattern);
//精确查询
query.put("id", "11");
//skip 是分页查询,从第0条开始查10条数据。 Sorts是排序用的。有descending 和ascending
MongoCursor<Document> cursor = collection.find(query).sort(Sorts.orderBy(Sorts.descending("times"))).skip(0).limit(10).iterator();//
int unm=0;
try {
while (cursor.hasNext()) {
UserBehaviorLogs userBehaviorLogs = new UserBehaviorLogs();
//查询出的结果转换成jsonObject,然后进行封装或者直接返回给前端处理。我这是封装成对象了
JSONObject jsonObject = JSONObject.parseObject( cursor.next().toJson().toString());
userBehaviorLogs.setId(jsonObject.getString("id"));//id
userBehaviorLogs.setUserId(jsonObject.getString("userId"));//用户id
userBehaviorLogs.setUserName(jsonObject.getString("userName"));//用户名称
userBehaviorLogs.setParams(jsonObject.getString("params"));//参数
userBehaviorLogs.setException(jsonObject.getString("Exception"));//异常信息
userBehaviorLogs.setTimes(jsonObject.getString("times")+"");//创建时间
unm++;
System.out.println(unm+"="+userBehaviorLogs.getTimes()+"==="+userBehaviorLogs.getId());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
cursor.close();
}

其中时间时间区间查询 被坑了一把。后来直接改成字符串格式的了(yyyy-MM-dd HH:mm:ss)。

代码直接拿过去就能用。

 本博客是本人原创 未经允许不得转载 谢谢。

链接地址:http://www.cnblogs.com/richard-ju/p/L2018006.html

java mongodb 使用MongoCollection,BasicDBObject 条件查询的更多相关文章

  1. MongoDB 组合多个条件查询($and、$in、$gte、$lte)

    一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime.比如 timeS ...

  2. java web中的多条件查询

    转自:http://blog.csdn.net/xulu_258/article/details/46623317 所谓多条件查询即为用户输入想要查询的条件,然后根据用户输入的条件进行查询. 当用户有 ...

  3. MongoDB 字符串值长度条件查询

    在实际项目中常常会有根据字段值长度大小进行限制查询,例如查询商品名称过长或过短的商品信息,具体的实现方式可能有多种,在此记录常见的两种实现 使用 $where 查询(性能稍逊一些) 1 2 3 4 5 ...

  4. mongodb将时间作为条件查询

    db.stock_signal_single.find({"createtime": { "$lt" : ISODate("2019-04-08T00 ...

  5. elasticsearch组合多条件查询实现restful api以及java代码实现

    原文:http://blog.java1234.com/blog/articles/372.html elasticsearch组合多条件查询实现restful api以及java代码实现 实际开发中 ...

  6. java 实现mongoDB 增加,删除,修改,查看,多条件查询,聚合查询,分组查询(史上最全)

    首先idea创建一手springboot项目 引入如下依赖 <dependency> <groupId>org.mongodb</groupId> <arti ...

  7. java mongodb 基础系列---查询,排序,limit,$in,$or,输出为list,创建索引,$ne 非操作

    官方api教程:http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started ...

  8. java MongoDB查询(二)复杂查询

    前言 在上篇<java MongoDB查询(一)简单查询>中我们简单了解了下查询,但是仅仅有那些查询是不够用的,还需要复杂的查询,这篇就这点进行叙述. 1.数据结构 集合:firstCol ...

  9. MongoDB入门---文档查询操作之条件查询&and查询&or查询

    经过前几天的学习之路,今天终于到了重头戏了.那就是文档查询操作.话不多说哈,直接看下语法: db.collection.find(query, projection) query :可选,使用查询操作 ...

随机推荐

  1. FORTIFY_SOURCE

    In recent years Linux distributions started treating security more seriously. Out of many security f ...

  2. 1414 冰雕 51nod 暴力

    1414 冰雕 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 白兰大学正在准备庆祝成立256周年.特别任命副校长 ...

  3. F - Goldbach`s Conjecture kuangbin 基础数论

    Goldbach's conjecture is one of the oldest unsolved problems in number theory and in all of mathemat ...

  4. ZooKeeper的应用场景(转)

    应用场景1 :统一命名服务 分布式应用中,通常需要一套完备的命令机制,既能产生唯一的标识,又方便人识别和记忆. 我们知道,每个ZNode都可以由其路径唯一标识,路径本身也比较简洁直观,另外ZNode上 ...

  5. iOS:解决pod的Insecure world writable dir问题

    当我们运行pod setup的命令的时候,有时候会碰到这个警告: /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.33.1/lib/cocoapods/execut ...

  6. HDU 5467

    第一次写LCT,各种模板加入...以后都只遇到有新意的题目再更新了 这道题就是LCT,但是,难在一个回退的操作.这时,可以通过改变执行顺序,先把要回退后再做的操作先执行了,再回退到之前的执行.这时,建 ...

  7. [C++基础]goto的用法

    原文: http://blog.csdn.net/shimazhuge/article/details/8448773 ---------------------------------------- ...

  8. poj 1837 Balance (0 1 背包)

    Balance Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 10326   Accepted: 6393 题意:给你n个挂 ...

  9. COCOS2D 学习笔记

    cc.Node.scheduleUpdate:function () * schedules the "update" method.                       ...

  10. 深入理解Java和MySQL乱码问题

    近期我们使用tomcat和MySQL搭建了一个Java Webserver,并将游戏的server逻辑部署在该server上. 游戏上线后不久,我们发现数据库中出现了大量的乱码.这是个很严重的问题,因 ...