2014-10-09 36 views
0

這裏是一個示例文件如何解析ISO的Java日期格式MongoDB的

{ "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」); match.put(「body.name」,新的BasicDBObject(「$ exists」,1)); match.put(「timestamp」,「2014-09-03T22:07:01.261Z」);

我希望我的Java代碼來尋找價值

回答

2

只需使用標準java.util.Date對象查詢 - 在Java驅動程序將處理轉換爲您服務。

您的代碼存在的問題是,您嘗試將字符串與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); 
+0

嗨馬丁,能否請您給我左右可以this..How使用java.util.Data – Aman 2014-10-09 15:09:55

+0

一些想法@Aman我已經更新了我的答案與一些代碼 – Martin 2014-10-09 19:53:05