有什么方法可以根据 objectid 上的时间戳以及在 mongodb 中生成 objectid 的算法来获取过去 24 小时在 mongo 集合中生成的 objectid。
问问题
247 次
1 回答
1
有没有办法根据objectid上的时间戳获取最近24小时在mongo集合中生成的objectid
您可以调用 JavaScript 代码,例如:
date = new Date()
date.setDate(date.getDate() - 1)
yesterday = Math.floor(date.getTime()/1000).toString(16)
db.coll.find({_id : {$gt : new ObjectId(yesterday + "0000000000000000")}} , {_id:1})
第一个和第二个陈述很简单:昨天的日期。
第三行创建昨天的 4 字节十六进制字符串。这是 ObjectId 最左边的 4 个字节。
然后,用零填充 ObjectId 最右边的 8 个字节,因为您不关心这些。它们是mac地址(3)、pid(2)和一个运行计数器(3)
您现在所要做的就是查询您的集合(coll
在示例中)并返回_id
在mongodb中生成objectid的算法是什么
于 2013-08-05T21:43:13.180 回答