如何从ObjectID.timestamp()中查询基于时间的查询?
db.myCollectin.findOne()._id.getTimestamp()
我已尝试
Date date = new Date();
BasicDBObject query = new BasicDBObject("timestamp", new BasicDBObject("$lt", date);
myCollection.findOne(query);
问题:
不起作用
答案 0 :(得分:0)
它不起作用,因为您的查询会查找一个名为timestamp的字段,该字段自然不存在。
您可以执行类似下面的shell查询,但请注意,Mongo将为您集合中的每个文档评估JavaScript - 而不使用索引。如果您需要定期查询,我建议将日期存储在文档的字段中。
db.myCollection.find({$where: "this._id.getTimestamp() < ISODate('2015-03-04T21:18:21.419Z')"})