Java 实现对mongodb and or 和and or联合查询操作
2018-02-28 10:56
495 查看
AND:[java] view plain copypublic 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);
while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
}
}
OR:[java] view plain copypublic 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);
while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
}
}
OR:[java] view plain copypublic 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);
while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
}
}
in:[java] view plain copypublic 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);
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))[java] view plain copypublic 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;
}
//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:[java] view plain copypublic 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);
while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
}
}
OR:[java] view plain copypublic 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);
while(dbCursor.hasNext()){
DBObject dbObj= cursor.next();
System.out.println(dbObj.get("age"));
}
}
in:[java] view plain copypublic 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);
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))[java] view plain copypublic 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;
}
相关文章推荐
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作 ,大于、小于等判断
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- MongoDB学习系列12:Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- 【MongoDB】-Java实现对mongodb的And、Or、In操作
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- Java实现对MongoDB的AND、OR和IN操作
- mogoTemplate 模板 实现mongodb java的操作 ,根据经纬度查询周边
- 联合两个索引查询,已解决: 还有个进行多条件搜索 and 与 or 的操作
- mongodb 多 or and 逻辑查询 python实现
- java对mongodb的and, in, or 常用操作
- java对mongodb的and, in, or 经常使用操作
- mongodb基础系列——java操作mongodb实现图片文件功能