Java实现对MongoDB的AND、OR和IN操作

来源:互联网 发布:内存read网络无法连接 编辑:程序博客网 时间:2024/05/16 12:34

很全的JAVA操作mongodb:

http://www.blogjava.net/xiaomage234/archive/2012/08/06/384904.html

 

转的:

 

AND:

public void testAnd(){      //agender='female' AND age > 27        DBObject queryCondition = new BasicDBObject();      queryCondition.put("agender", "female");      queryCondition.put("age", new BasicDBObject("$gt", 27));      DBCursor dbCursor = coll.find(queryCondition);      assertEquals(1, dbCursor.size());      assertEquals("Jane", dbCursor.next().get("username"));  }  

OR:

public void testOrSingleField(){      DBObject queryCondition = new BasicDBObject();            //age<15 OR age>27      queryCondition = new BasicDBObject();      BasicDBList values = new BasicDBList();      values.add(new BasicDBObject("age", new BasicDBObject("$gt", 27)));      values.add(new BasicDBObject("age", new BasicDBObject("$lt", 15)));      queryCondition.put("$or", values);            DBCursor dbCursor = coll.find(queryCondition);      assertEquals(3, dbCursor.size());      assertEquals("tom", dbCursor.next().get("username"));  }  
OR:
public void testOrMultiFields(){      DBObject queryCondition = new BasicDBObject();            //agender=female OR age<=23      queryCondition = new BasicDBObject();      BasicDBList values = new BasicDBList();      values.add(new BasicDBObject("agender", "female"));      values.add(new BasicDBObject("age", new BasicDBObject("$lte", 23)));      queryCondition.put("$or", values);            DBCursor dbCursor = coll.find(queryCondition);      assertEquals(4, dbCursor.size());      assertEquals("Jim", dbCursor.next().get("username"));  }

in:

public void testIn(){      DBObject queryCondition = new BasicDBObject();            //age in [13, 47]      queryCondition = new BasicDBObject();      BasicDBList values = new BasicDBList();      values.add(13);      values.add(47);      queryCondition.put("age", new BasicDBObject("$in", values));            DBCursor dbCursor = coll.find(queryCondition);      assertEquals(2, dbCursor.size());      assertEquals("tom", dbCursor.next().get("username"));  }  




0 0