在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 - 你能告诉我们你到目前为止已经尝试了什么,并解释它以何种方式无效?它是否存在错误或无法找到您正在查找的数据或其他内容? –