mongodb

find 查询  

简单查询

db.getCollection('spliteBuildingOfDay').find({nodeName:'南塔8F',itemCode: '03'})   

相当于SQL语句中的 select * from spliteBuildingOfDay where  nodeName='南塔8F' and itemCode = '03'

Java 查询代码

Map<String, Object> matchMap = new HashMap<>();
matchMap.put("nodeName","南塔8F");
matchMap.put("itemCode ","03");

like查询

db.getCollection('spliteBuildingOfDay').find({nodeName:/南塔8F/,itemCode: '03'})   

相当于SQL语句中的 select * from spliteBuildingOfDay where  nodeName like '%南塔8F%' and itemCode = '03'

Java 查询代码

Map<String, Object> matchMap = new HashMap<>();
matchMap.put("itemCode ","03");
BasicDBList values = new BasicDBList();
Pattern pattern = Pattern.compile("^.*" + "南塔8F" + ".*$", Pattern.CASE_INSENSITIVE);
values.add(new BasicDBObject("nodeName", pattern));
matchMap.put("nodeName",pattern);

in查询

db.getCollection('spliteBuildingOfDay').find({nodeName:南塔8F,itemCode: {$in:['01','02']}})   

相当于SQL语句中的 select * from spliteBuildingOfDay where  nodeName like '%南塔8F%' and itemCode in('01','02')

Java 查询代码

Map<String, Object> matchMap = new HashMap<>();
matchMap.put("nodeName","南塔8F");
  List<String> idList = new ArrayList<String>();
    idList.add("01");
    idList.add("02");
matchMap.put("itemCode", new BasicDBObject("$in", idList)); 

or 查询

db.getCollection('spliteBuildingOfDay').find({ $or:[{nodeName:'北塔8F'},{nodeName:'南塔8F'} ]}) 

相当于SQL语句中的 select * from spliteBuildingOfDay where  nodeName = '北塔8F' or nodeName = '南塔8F'

Java 查询代码

Map<String, Object> matchMap = new HashMap<>(); 
BasicDBList orList = new BasicDBList();  
  orList.add("北塔8F");
  orList.add("南塔8F");
matchMap.put("$or",orList);

or like 联合查询

db.getCollection('spliteBuildingOfDay').find({ $or:[{nodeName:/北塔8F/},{nodeName:/南塔8F/} ]}) 

相当于SQL语句中的 select * from spliteBuildingOfDay where  nodeName like '%北塔8F%' or nodeName = '%南塔8F%'

Map<String, Object> matchMap = new HashMap<>(); 
BasicDBList orList = new BasicDBList();  
Pattern pattern = Pattern.compile("^.*" + "南塔" + ".*$", Pattern.CASE_INSENSITIVE);
values.add(new BasicDBObject("nodeName", pattern));
Pattern pattern = Pattern.compile("^.*" + "北塔" + ".*$", Pattern.CASE_INSENSITIVE);
values.add(new BasicDBObject("nodeName", pattern));
matchMap.put("$or",values);

aggregate统计 

可用于 分组 统计 复杂查询

 

Java中进行封装  查询

Map<String, Object> matchMap = new HashMap<>();

 

posted @ 2021-06-25 15:57  单纯不撩妹  阅读(47)  评论(0)    收藏  举报