MongoDB Java API查询实现
2014-02-06 18:46
316 查看
最近在学习MongoDB的JAVA API,便于以后查阅,总结java中实现MongoDB查询的实现方式:
总的来讲,java api中的BasicDBObject相当于mongo命令中的大括号"{}",BasicDBList相当于中括号"[]",这样就比较容易理解下面的语句了。
以上代码引用于MongoDB官网:http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started-with-java-driver
后续的db对象参照上面的代码获取。
java插入语句:
java语句:
java语句:
Java语句:
简单总结到这里,如有错误,欢迎批评指正~
总的来讲,java api中的BasicDBObject相当于mongo命令中的大括号"{}",BasicDBList相当于中括号"[]",这样就比较容易理解下面的语句了。
1.创建连接
import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; // To directly connect to a single MongoDB server (note that this will not auto-discover the primary even // if it's a member of a replica set: MongoClient mongoClient = new MongoClient(); // or MongoClient mongoClient = new MongoClient( "localhost" ); // or MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); // or, to connect to a replica set, with auto-discovery of the primary, supply a seed list of members MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018), new ServerAddress("localhost", 27019))); DB db = mongoClient.getDB( "mydb" );
以上代码引用于MongoDB官网:http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started-with-java-driver
后续的db对象参照上面的代码获取。
2. 获取全部collections的名称
Set<String> colls = db.getCollectionNames(); for (String s : colls) { System.out.println(s); }
3. 获取一个collection对象
DBCollection coll = db.getCollection("testCollection");
4. 插入一条记录(Document)
文档内容:{ "name" : "MongoDB", "type" : "database", "count" : 1, "info" : { x : 203, y : 102 } }
java插入语句:
BasicDBObject doc = new BasicDBObject("name", "MongoDB"). append("type", "database"). append("count", 1). append("info", new BasicDBObject("x", 203).append("y", 102)); coll.insert(doc);
5. 插入多条记录
for (int i=0; i < 100; i++) { coll.insert(new BasicDBObject("i", i)); }
6. 进行count操作
System.out.println(coll.getCount());
7. 查询collection中的第一条记录:
mongo语句:db.mycollection.findOne() 或者 db.mycollection.findOne({})
java语句:
DBCollection coll = db.getCollection("testCollection"); DBObject myDoc = coll.findOne(); System.out.println(myDoc);
8. 使用游标(cursor)遍历记录
DBCursor cursor = coll.find(); try { while(cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }
9. 根据条件进行简单查询
java语句:BasicDBObject queryObj = new BasicDBObject("name", "MongoDB"); cursor = coll.find(query); try { while(cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }
10. 根据条件进行复杂查询
(1)数值比较$gt(大于)、$lt(小于)、$gte(大于等于)、$lte(小于等于):
Mongo语句:db.coll.find({"age", {$gt, 10}})
java语句:
BasicDBObject queryObj = new BasicDBObject("age", new BasicDBObject("$gt", 10)); DBCursor cursor = coll.find(queryObj); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }这里的BasicDBObject相当于mongo语句中的大括号"{ }"
(2)$or操作:
Mongo语句:db.coll.find({$or, [{"age", 10}, {"age", 15}]})
Java语句:
BasicDBList options = new BasicDBList(); options.add(new BasicDBObject("age", 10)); options.add(new BasicDBObject("age", 15)); DBObject queryObj = new BasicDBObject("$or", options); DBCursor cursor = coll.find(queryObj); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }这里的BasicDBList相当于mongo语句中的中括号"[ ]"。
简单总结到这里,如有错误,欢迎批评指正~
相关文章推荐
- mongodb条件查询实现结构化查询语句SQL
- mongodb 实现关系型数据库中查询某一列 的效果
- Mongodb利用aggregation实现抽样查询(按记录数和时间)
- Java API 实现HBase的数据添加与过滤查询
- MongoDB JAVA API高级查询示例(对应于上一篇)
- elasticsearch聚合分组查询java API实现
- 二、Mongodb实战之——Mongodb Shell实现简单插入和查询
- 用java api 实现查询 Hive 数据
- MongoVUE下实现MongoDB的Group分组查询
- 在php7中MongoDB实现模糊查询的方法详解
- mongodb 实现关系型数据库中查询某一列 的效果
- MongoVUE下实现MongoDB的Group分组查询
- java实现mongoDB的多条件查询
- Mongodb系列- spring-data-mongodb使用MongoTemplate实现分页查询
- python操作mongodb根据_id查询数据的实现方法
- python操作mongodb根据_id查询数据的实现方法
- C# mongoDB.net driver 2.4.0实现上传下载文件及文件列表的多条件查询
- Mongodb与spring集成(3)------MongoRepository实现增删改查和复杂查询
- mongodb java API查询例子
- Spring整合MongoDB实现多个or的范围查询