查询Document
下面学习如何查询document,先用下面的代码往数据库中插入1-10数字:
for(int i=1; i <=10; i++){
collection.insert(new BasicDBObject().append("number", i));
}
collection.insert(new BasicDBObject().append("number", i));
}
接下来,看下如下的例子:
1) 获得数据库中的第一个document:
DBObject doc = collection.findOne();
System.out.println(dbObject);
System.out.println(dbObject);
输出为:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}
2)获得document的集合
DBCursor cursor = collection.find();
while(cursor.hasNext()){
System.out.println(cursor.next());
}
while(cursor.hasNext()){
System.out.println(cursor.next());
}
这里,使用collection.find()方法,获得当前数据库中所有的documents对象集合
然后通过对DBCursor对象集合的遍历,即可输出当前所有documents。输出如下:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}
//..........中间部分省略,为2到9的输出
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
//..........中间部分省略,为2到9的输出
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
3) 获取指定的document
比如要获得number=5的document对象内容,可以使用collection的find方法即可,如下:
BasicDBObject query =new BasicDBObject();
query.put("number", 5);
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
query.put("number", 5);
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
即输出:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c1"} , "number" : 5}
4) 使用in操作符号
在mongodb中,也可以使用in操作符,比如要获得number=9和number=10的document对象,可以如下操作:
BasicDBObject query =new BasicDBObject();
List list =new ArrayList();
list.add(9);
list.add(10);
query.put("number", new BasicDBObject("$in", list));
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
List list =new ArrayList();
list.add(9);
list.add(10);
query.put("number", new BasicDBObject("$in", list));
DBCursor cursor = collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
这里使用了一个List,并将list传入到BasicDBObject的构造函数中,并使用了in操作符号,输出如下:
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c5"} , "number" : 9}
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
{"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}