Desde o
ObjectId
por padrão contém um inc
e um timestamp
( http://www.mongodb.org/display/DOCS/ Object+IDs#ObjectIDs-BSONObjectIDSpecification
) você pode realmente usar o ObjectId
para entender o tempo de inserção (aproximadamente) via:db.col.find({_id: {$gt: {ObjectId("50911c4709913b2c643f1216")}}});
No entanto, o
ObjectId
nem sempre pode ser extremamente confiável, especialmente se, em seu aplicativo, você criar o ObjectId
um pouco antes da inserção e na verdade um registro que você sabe que foi criado mais tarde realmente aparece (por causa de seu _id
) como antes. Para inserções em determinados cenários em que você não pode confiar no
ObjectId
para o temporizador de inserção, você pode adicionar um ts
campo de um tipo de data BSON (ISODate
) e faça isso usando duas consultas, uma para obter a hora dos documentos originais e outra para obter todos os documentos depois. Eu pessoalmente prefiro ir para o segundo método de usar um tipo de data BSON, pois é mais confiável e flexível.