转的:
?
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")); }
?
?
?