我如何编写今天创建的结果文档的过滤器。我知道 ObjectId 有时间戳。
我试过这个:
db.doc.find({_id : { $gte : ObjectId().getTimestamp().getTime() }}
我可以写吗
db.doc.find({'_id.getTimestamp().getTime()' : { $gte : ObjectId().getTimestamp().getTime() }}
尝试以下操作(基于此answer https://stackoverflow.com/questions/8749971/can-i-query-mongodb-objectid-by-date)。这将返回自给定日期以来创建的所有文档。因此它也涵盖了今天的条目。
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") }})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)