java MongoDB查询(一)简单查询
前言
MongoDB的java驱动提供了查询的功能,查询条件也是bson对象,这篇就看下怎么进行简单的数据查询
1、数据结构
集合:firstCollection
数据内容:
{ "_id" : ObjectId("55adba52fa1f3cf038c2aea6"), "name" : "user0", "age" : 22, "sex" : 0 }
{ "_id" : ObjectId("55adba52fa1f3cf038c2aea7"), "name" : "user1", "age" : 23, "sex" : 1 }
{ "_id" : ObjectId("55adba52fa1f3cf038c2aea8"), "name" : "user2", "age" : 24, "sex" : 0 }
{ "_id" : ObjectId("55adba52fa1f3cf038c2aea9"), "name" : "user3", "age" : 25, "sex" : 1 }
{ "_id" : ObjectId("55adba52fa1f3cf038c2aeaa"), "name" : "user4", "age" : 26, "sex" : 0 }
{ "_id" : ObjectId("55adba52fa1f3cf038c2aeab"), "name" : "user5", "age" : 27, "sex" : 1 }
2、连接数据库,拿到集合firstCollection
MongoClient mClient = new MongoClient("10.211.55.8");
DB db = mClient.getDB("test");
DBCollection collection = db.getCollection("firstCollection");
3、查询name为user1的对象
查询条件Json内容:
{"name": "user1"}
查询条件Java内容:
BasicDBObject queryObject = new BasicDBObject("name","user1");
执行过程:
DBObject obj = collection.findOne(queryObject);
这样就拿到了name为user1的对象了
4、查询name包含user的对象
这样模糊查询,也就类似于like查询是通过正则表达式来完成的
查询条件Json内容:
{“name”:/user/}
查询条件Java内容:
Pattern queryPattern = Pattern.compile("user", Pattern.CASE_INSENSITIVE);
BasicDBObject queryObject = new BasicDBObject("name",queryPattern);
执行过程:
Pattern queryPattern = Pattern.compile("user", Pattern.CASE_INSENSITIVE);
BasicDBObject queryObject = new BasicDBObject("name",queryPattern);
Cursor cursor = collection.find(queryObject);
while(cursor.hasNext()){
DBObject obj = cursor.next();
System.out.println(obj.toString());
}
5、查询年龄大于24的对象
查询条件Json内容:
{"age":{"$gt":24}}
查询条件Java内容:
两个Bson对象嵌套
BasicDBObject gt = new BasicDBObject("$gt",24);
BasicDBObject queryObject = new BasicDBObject("age",gt);
执行过程:
BasicDBObject gt = new BasicDBObject("$gt",24);
BasicDBObject queryObject = new BasicDBObject("age",gt);
Cursor cursor = collection.find(queryObject);
while(cursor.hasNext()){
DBObject obj = cursor.next();
System.out.println(obj.toString());
}
备注:
$gt:>
$gte:>=
$eq: =
$ne: !=
$lt: <
$lte: <=
$in: in(后面的值为bson对象数组)
$nin: not in(后面的值为bson对象数组)
这些操作符的用法和$gt类似,不在赘述
总结
通过这篇文章就可以对MongoDB进行简单的查询了,但是在具体业务中只有简单查询是不现实的,会有更多的与或关系,这戏内容将在下次文章中叙述。
最新文章
- 初识MVC
- ACM/ICPC 之 Dinic算法(POJ2112)
- CF448C Painting Fence (分治递归)
- 删除Visual Studio Online 中团队项目
- 如何下载Spring
- Microsoft SQL Server 存储过程举例
- BZOJ 2429 聪明的猴子
- xmlns=";http://schemas.xmlsoap.org/wsdl/";,这是什么意思,我只知道:xmlns:xx=....,
- mysql delete from
- Android Drawable 和String 相互转化
- 关于Linux的缓存内存 Cache Memory详解<;转>;
- LeeCode-Sort Colors
- android 图片合成
- Ubuntu 16.04上搭建CDH5.16.1集群
- 微软公布针对最新IE漏洞的安全通报2963983
- pandas修改全列的时间格式 无需使用apply
- 详解HTTP协议
- Java并发程序设计(十三)锁的性能优化
- EasyUI datagrid easyui datagrid +dialog 加载 可直接运行 七
- Opencv打开摄像头,读不到图像,一般来说先读取第一帧,舍弃,然后就正常了
热门文章
- tmocat ssl 证书 生成 过程
- Vlock用于有多个用户访问控制台的共享 Linux 系统
- Python入门之用Python统计代码行
- Android http通信 HttpURLConnection
- troubleshooting-windows 在 CDH集群环境读取 Hive 表 KrbException: Cannot locate default realm
- 20145310《网络对抗》注入shellcode及Return-to-libc
- 20145334赵文豪 WEB基础实践
- 20165310 java_blog_week3
- MFC制作OCX
- hdu 3698 UVA1490 Let the light guide us 线段树优化DP