錯誤代碼:
ref.put("clock_time", new BasicDBObject("$lte","2015/01/21 17:57:55"));
ref.put("clock_time", new BasicDBObject("$gte","2015/01/21 17:57:51"));
// 第二行覆蓋第一行,只生效一邊
BasicDBObject timeRange = new BasicDBObject();
timeRange.put("$gte", "2015/01/21 17:57:51");
timeRange.put("$lte", "2015/01/21 17:57:55");
ref.put("clock_time", timeRange);
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
Instant start = LocalDateTime.parse("2015/01/21 17:57:51", fmt).atZone(ZoneId.systemDefault()).toInstant();
Instant end = LocalDateTime.parse("2015/01/21 17:57:55", fmt).atZone(ZoneId.systemDefault()).toInstant();
BasicDBObject timeRange = new BasicDBObject();
timeRange.put("$gte", Date.from(start));
timeRange.put("$lte", Date.from(end));
ref.put("clock_time", timeRange);
Bson filter = Filters.and(
Filters.gte("clock_time", startDate),
Filters.lte("clock_time", endDate)
);
FindIterable iter = collection.find(filter);