使用java

时间:2017-11-16 12:14:32

标签: java mongodb nosql mongodb-query

我正在尝试使用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)

并且有效。

1 个答案:

答案 0 :(得分:0)

我认为您已将INDEX的值保存为数字。请在保存后检查您的密码,请告诉我们。

考虑到请通过传递长值

来尝试下面
Date