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<>();
浙公网安备 33010602011771号