博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java mongodb 使用MongoCollection,BasicDBObject 条件查询
阅读量:6882 次
发布时间:2019-06-27

本文共 2159 字,大约阅读时间需要 7 分钟。

废话不说,上代码

//链接数据库        MongoClient mongoClient = new MongoClient( "172.26.xxx.xxx" , 27017 );        MongoDatabase mongoDatabase =mongoClient.getDatabase("xxxx");        MongoCollection
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
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

 

转载于:https://www.cnblogs.com/richard-ju/p/L2018006.html

你可能感兴趣的文章
一个有趣的Js逗号表达式
查看>>
node服务适配前端路由
查看>>
[vue] 表单输入格式化,中文输入法异常
查看>>
three.js 专题
查看>>
Observer观察者模式与OCP开放-封闭原则
查看>>
多端异构数据集成方案
查看>>
MVVM
查看>>
如何搭建高级工程师知识框架?推荐两种方式
查看>>
webpack4手动搭建Vue开发环境实现todoList项目(2)
查看>>
BAT的医疗春秋大梦
查看>>
Pulsar本地单机(伪)集群 (裸机安装与docker方式安装) 2.2.0
查看>>
利用H5的css3制作动画
查看>>
Android View 事件分发源码分析
查看>>
vue 2.0 - props
查看>>
RustCon Asia 实录 | Rust 在国内某视频网站的应用
查看>>
Vue遇上Analytics
查看>>
谢烟客---------Linux之find查找
查看>>
windows下tomcat 发布多个web项目(多个域名,同一ip)
查看>>
日志模块和错误管理模块均已发布
查看>>
【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?
查看>>