Java MongoDB访问日期查询不起作用
我正在菜单集合中存储以下对象。然后我进行以下查询,但它没有找到任何记录。请帮忙 提前谢谢Java MongoDB访问日期查询不起作用,java,mongodb,time,Java,Mongodb,Time,我正在菜单集合中存储以下对象。然后我进行以下查询,但它没有找到任何记录。请帮忙 提前谢谢 >> Menu.java private String menuId; private Date startDate; private Date endDate; >> Store.java DBCollection collection = db.getCollection(collectionType); String jsonStrin
>> Menu.java
private String menuId;
private Date startDate;
private Date endDate;
>> Store.java
DBCollection collection = db.getCollection(collectionType);
String jsonString = new Gson().toJson(object);
DBObject dbObj = (DBObject) JSON.parse(jsonString);
collection.save(dbObj);
>> String generated is
{"menuId":"1","startDate":"Jul 12, 2013 8:52:48 AM","endDate":"Jul 22, 2013 8:52:48 AM"}
>> Query defined for startDate < currentdate < endDate
BasicDBObject query = new BasicDBObject("startDate", new BasicDBObject("$lte", AbstractJson.getDate(days))).append("endDate", new BasicDBObject("$gte", AbstractJson.getDate(days)));
{ "startDate" : { "$lte" : { "$date" : "2013-07-17T13:02:56.697Z"}} , "endDate" : { "$gte" : { "$date" : "2013-07-17T13:02:58.510Z"}}}
>Menu.java
私有字符串menuId;
私人日期开始日期;
私人日期结束日期;
>>Store.java
DBCollection collection=db.getCollection(collectionType);
字符串jsonString=new Gson().toJson(对象);
DBObject dbObj=(DBObject)JSON.parse(jsonString);
collection.save(dbObj);
>>生成的字符串是
{“menuId”:“1”,“开始日期”:“2013年7月12日上午8:52:48”,“结束日期”:“2013年7月22日上午8:52:48”}
>>为startDate
谢谢米格尔。现在我们决定将时间储存在长期价值中。现在一切正常。似乎startDate
和endDate
字段没有存储为日期类型。检查您的GSON解析器和MongoDB文档,以便正确存储日期。谢谢Miguel。现在我们决定将时间储存在长期价值中。现在一切都好了。