查询mongodb以返回今天创建的文档

时间:2014-01-30 18:41:02

标签: mongodb nosql

如何编写过滤器,这会产生今天创建的文档。我知道ObjectId有时间戳。 我试过这个:

db.doc.find({_id : { $gte : ObjectId().getTimestamp().getTime() }}

我可以写

吗?
db.doc.find({'_id.getTimestamp().getTime()' : { $gte : ObjectId().getTimestamp().getTime() }}

1 个答案:

答案 0 :(得分:7)

尝试以下内容(基于此answer)。这将返回自给定日期以来创建的所有文档。所以它也涵盖了今天的条目。

db.doc.find({_id : { $gt : ObjectId(Math.floor(new Date('2014/01/30')/1000).toString(16)+"0000000000000000") }})

如果您不想将日期作为字符串输入,可以通过对象创建它,但它有点难看:

db.doc.find({_id : { $gt : ObjectId(Math.floor(new Date(new Date().getFullYear()+'/'+(new Date().getMonth()+1)+'/'+new Date().getDate())/1000).toString(16)+"0000000000000000") }})