我有一个现有的mongodb集合,它没有关于何时创建文档的任何信息。
是否有可能获得这些信息?我已经查看了文档,但无法在任何地方看到它。
答案 0 :(得分:4)
如果您使用ObjectId
属性的默认_id
值,则会在其中对创建时间进行编码。
如the ObjectID documentation中所述:
ObjectId是一个12字节的BSON类型,使用:
构造
- 一个4字节的值,表示自Unix纪元以来的秒
- 3字节机器标识符
- 一个2字节的进程ID,以及一个3字节的计数器,以随机值开始。
您可以调用getTimestamp()
对象上的ObjectId
函数来获取包含对象创建时间的ISODate
对象:
在mongo shell中:
ObjectId().getTimestamp()
ISODate("2014-05-14T14:29:12Z")
答案 1 :(得分:2)
除非您将其替换为其他内容,否则很可能是文档的实际_id
值。
在简单的" JavaScript"这个的语法(以及其他语言可以使用的各种方法)只需将其作为:
进行访问var id = new ObjectId();
id.getTimetstamp();
各种语言实现都有一种方法可以检索"时间戳"来自ObjectId
值,因此您可以使用它。