在MongoDB中,我有日期字段值指定的位置:如何根據MongoDB中的Date字段查詢文檔?
ISODate(2015-01-12T05:00:00.000+0000)
我如何可以檢索基於使用Java這個日期欄的文檔。我將這個字符串2015-01-12T05:00:00.000+0000
作爲參數發送給一個方法。我試圖將此字符串轉換爲Date並嘗試從MongoDB中檢索文檔。
我無法修復此問題。我使用的Java 7
在MongoDB中,我有日期字段值指定的位置:如何根據MongoDB中的Date字段查詢文檔?
ISODate(2015-01-12T05:00:00.000+0000)
我如何可以檢索基於使用Java這個日期欄的文檔。我將這個字符串2015-01-12T05:00:00.000+0000
作爲參數發送給一個方法。我試圖將此字符串轉換爲Date並嘗試從MongoDB中檢索文檔。
我無法修復此問題。我使用的Java 7
確保你有一個正確的Java Date對象,然後查詢這樣的:
Date myDate = <whatever>;
MongoClient mongoClient = new MongoClient();
MongoCollection<Document> coll = mongoClient.getDatabase("test").getCollection("xyz");
FindIterable<Document> result = coll.find(Filters.eq("myDateField", myDate));
請注意,這是Java驅動程序3.X標準。
如何將字符串「2015-01-12T05:00:00.000 + 0000」轉換爲jave Date對象? – dev777
Date date = Date.from(DateTimeFormatter.ofPattern(「yyyy-MM-dd'T'HH:mm:ss.SSSZ」)。parse(「2015-01-12T05:00:00.000 + 0000」,ZonedDateTime :: from).toInstant()) - 但是請注意,目前似乎沒有支持使用除默認JVM時區以外的實際時區的方式,因爲mongo驅動程序僅支持簡單日期,該日期基本上會丟棄時區信息。我們現在只能希望有一個更好的未來版本。 – mtj
哪個maven依賴關係,我們是否用於DateFormatter? – dev777
你檢查過mongo db api嗎? –
HI dev777 - 你能告訴我們你到目前爲止已經嘗試了什麼,並解釋它以何種方式無效?它是否存在錯誤或無法找到您正在查找的數據或其他內容? –