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。现在我们决定将时间储存在长期价值中。现在一切都好了。