如何解析mongoDB的ISO Java日期格式

时间:2014-10-09 14:42:28

标签: mongodb mongo-java

这是一个示例文档

 {  "userId" : "ABC,

        "timestamp" : ISODate("2014-09-03T22:07:01.261Z"),
        "body" : {
                "id" : "0082171",
                "name" : "XYZ",
                "palce":"Ind"
        },
        } 



  DBObject match = new BasicDBObject(); 

 match.put("body.id","0082171"); 

   match.put("body.name", new BasicDBObject("$exists",1));

我算得上50999

当我为匹配标准添加日期字段时,我没有得到任何价值。

  
    

DBObject match = new BasicDBObject();     match.put(" data.type"" score.type&#34); match.put(" body.name",new BasicDBObject(" $ exists",1));     match.put("时间戳"" 2014-09-03T22:07:01.261Z&#34);

  

我希望我的java代码能够找到值

1 个答案:

答案 0 :(得分:2)

只需在查询中使用标准java.util.Date对象 - Java驱动程序将为您处理转换。

您的代码的问题在于您尝试将String与ISODate对象匹配,并且永远不会匹配。

以下是您的代码的外观:

Date timeStamp = new Calendar().set(2014,09,03,22,07,01).getTime();
DBObject match = new BasicDBObject();
match.put("data.type","score.type");
match.put("body.name", new BasicDBObject("$exists",1));
match.put("timestamp",timeStamp);