一、問題描述:
mongodb 復雜的查詢場景:參數為集合對象,那我們該如何去查呢? for循環 no
二、代碼示例:
public List<TemperatureMonitorRspDto> queryTemperatureInfoList(List<TemperatureReqDto> reqDtoList) throws Exception {
// 構造參數 將入參集合轉換成 Criteria數組
Criteria[] cri =new Criteria[reqDtoList.size()];
for (int i=0;i<reqDtoList.size();i++) {
TemperatureReqDto temperatureReqDto = reqDtoList.get(i);
cri[i] = Criteria.where("dispatchId")
.is(temperatureReqDto.getDispatchId()).and("gnssTime").gt(temperatureReqDto.getOperateTime().getTime());
}
Criteria criteria=new Criteria();
criteria.orOperator(cri);
Query query=new Query(criteria);
List<TemperatureMonitorPo> temperatureMonitorPoList =mongoTemplate.find(query,TemperatureMonitorPo.class);
return Po2DtoConvert.po2TemperatureMonitorRspDtoList(temperatureMonitorPoList);
}