Java 實現對mongodb and or 和and or聯合查詢操作
阿新 • • 發佈:2018-12-23
AND:
- publicvoid 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);
- while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
} - }
OR:
- publicvoid testOrSingleField(){
- DBObject queryCondition = new BasicDBObject();
- //age<15 OR age>27
- queryCondition = new BasicDBObject();
- BasicDBList values = new
- 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);
- while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
} - }
OR:
- publicvoid 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);
- while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
} - }
in:
- publicvoid 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);
- while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
} - }
自己的:
and 和or的聯合查詢條件 (換成sql 這個查詢條件就是 m=1 and (a=0 or a=1) and (b=1 or c=1))
- public DBObject getWhereField(){
- DBObject wheremap = new BasicDBObject();
- wheremap.put("m", 1);
- //
- DBObject[] orDbj = new BasicDBObject[2];
- orDbj[0] = new BasicDBObject("a", 0);
- orDbj[1] = new BasicDBObject("a", 1);
- DBObject[] orDbj1 = new BasicDBObject[2];
- orDbj1[0] = new BasicDBObject("b", 1);
- orDbj1[1] = new BasicDBObject("c", 1);
- BasicDBList values = new BasicDBList();
- values.add(new BasicDBObject("$or", orDbj));
- values.add(new BasicDBObject("$or", orDbj1));
- wheremap.put("$and", values);
- return wheremap;
- }