我正在尝试使用mongo的Java驱动程序来读取集合,并仅使用一系列值来回退文档。例如,如果我有像
这样的数据{ "name" : "foo", "Color" : "white", "Date" : 20171116 }
{ "name" : "bar", "Color" : "black", "Date" : 20171115 }
{ "name" : "Jeff", "Color" : "purple", "Date" : 20171114 }
{ "name" : "John", "Color" : "blue", "Date" : 20171015 }
我想在20171114开始并在20171116结束,所以我会做类似
的事情DateFormat df = new SimpleDateFormat("yyyyMMdd");
String begin = "20171114";
String end = "20171116";
Date startDate;
Date endDate;
然后我需要将字符串转换为日期并使用像
这样的游标try {
startDate = df.parse(startDateString);
endDate = df.parse(endDateString);
BasicDBObject data = new BasicDBObject();
data.put("Date", new BasicDBObject( new BasicDBOject( "$gte", startDate).append("$lte", endDate)));
} catch(ParseException e){
e.printStackTrace
}
然而,当我这样做时,它什么都不返回。
答案:
我试图将一个数字与一个不起作用的日期进行比较,所以我转换了我的开头和&通过执行
将字符串结束为整数Integer beginDate = Integer.valueOf(begin)
Integer endDate = Integer.valueOf(end)
并且有效。
答案 0 :(得分:0)
我认为您已将INDEX
的值保存为数字。请在保存后检查您的密码,请告诉我们。
考虑到请通过传递长值
来尝试下面Date