Eme*_*gia 1 mongodb spring-data
MongoDB 文档建议从ObjectId中提取插入时间,而不是使用单独的时间字段.有谁知道如何使用Spring Data MongoDB执行此操作?
特别是,我想查询在特定日期范围内插入的文档.
从ObjectId... 获取时间很容易,但是你不会得到ms精度.
org.bson.types.ObjectId您可以使用2种方法:getTimeSecond()和getTime()(相同`getTimeSecond() * 1000L).这些将获得你的unix时间戳.
我没有在Spring中使用MongoDB - 但是如果你能够掌握实际的ObjectId实例,就像调用上面的方法之一一样简单.
现在 - 要查询时间范围内的文档,您必须返回并ObjectId根据时间戳创建对象.再次 - 这很简单 - ObjectId有一个构造函数可以为你做这个:
ObjectId(Date time)
因此 - 创建2个ObjectId表示最小和最大时间范围的实例,然后执行以下查询:
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } );
where value1和value2代表ObjectId您通过创建的实例ObjectId(Date time)
| 归档时间: |
|
| 查看次数: |
3945 次 |
| 最近记录: |