0

如何从 ObjectID.timestamp() 查询基于时间的查询?

db.myCollectin.findOne()._id.getTimestamp()

我试过了

Date date = new Date();
BasicDBObject query = new BasicDBObject("timestamp", new BasicDBObject("$lt", date);
myCollection.findOne(query);

问题:

不工作

4

1 回答 1

0

它不起作用,因为您的查询查找一个自然不存在的名为 timestamp 的字段。

您可以执行类似于下面的 shell 查询的操作,但请注意 Mongo 将为您的集合中的每个文档评估 JavaScript - 而不使用索引。如果您需要定期查询,我建议将日期存储在文档的字段中。

db.myCollection.find({$where: "this._id.getTimestamp() < ISODate('2015-03-04T21:18:21.419Z')"})
于 2015-03-04T21:25:44.203 回答