何时将文档添加到MongoDB集合中

时间:2014-05-14 14:24:08

标签: mongodb

我有一个现有的mongodb集合,它没有关于何时创建文档的任何信息。

是否有可能获得这些信息?我已经查看了文档,但无法在任何地方看到它。

2 个答案:

答案 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值,因此您可以使用它。