1. 程式人生 > 其它 >cartographer---第二篇(imu與lidar外參的自動標定)

cartographer---第二篇(imu與lidar外參的自動標定)

find 查詢

簡單查詢

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

相當於SQL語句中的 select * fromspliteBuildingOfDay wherenodeName='南塔8F' anditemCode = '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 * fromspliteBuildingOfDay wherenodeName like '%南塔8F%' anditemCode = '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 * fromspliteBuildingOfDay wherenodeName like '%南塔8F%' anditemCode 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)); 

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

相當於SQL語句中的 select * fromspliteBuildingOfDay wherenodeName ='北塔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);

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

相當於SQL語句中的 select * fromspliteBuildingOfDay wherenodeName 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<>();