BasicDBObject使用开始时间和结束时间为条件查询结果不对问题
解决方法:
先创建单独的BasicDBObject对象给同一个字段添加多个条件,具体如下:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
BasicDBObject dbTime = new BasicDBObject();
if(!StringUtils.isEmpty(startTime)){
dbTime.append("$gte",sdf.parse(startTime));
dbObject.put("endTime",dbTime);
}
if(!StringUtils.isEmpty(endTime)){
dbTime.append("$lte",sdf.parse(endTime));
dbObject.put("endTime",dbTime);
}
Long count =dbcollection.count(dbObject);//总数