技术开发 频道

Mongodb快速入门之使用Java操作Mongodb

  查询Document

  下面学习如何查询document,先用下面的代码往数据库中插入1-10数字:

  for(int i=1; i <=10; i++){
  collection.insert(
new BasicDBObject().append("number", i));

  }

   接下来,看下如下的例子:

  1) 获得数据库中的第一个document:

  DBObject doc = collection.findOne();
  System.out.println(dbObject);

   输出为:

  {"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80bd"} , "number" : 1}

   2)获得document的集合

  DBCursor cursor = collection.find();
  
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}

   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());
  }

   即输出:

  {"_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传入到BasicDBObject的构造函数中,并使用了in操作符号,输出如下:

  {"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c5"} , "number" : 9}
  {
"_id" : {"$oid" : "4dc7f7b7bd0fb9a86c6c80c6"} , "number" : 10}
1
相关文章