📅  最后修改于: 2023-12-03 15:17:41.687000             🧑  作者: Mango
在MongoDB中,每个文档都有一个默认的_id字段,用于唯一标识该文档。这个_id字段的值是一个ObjectID对象,由12个字节组成,其中4个字节是当前时间的时间戳,3个字节是机器的标识符,2个字节是进程ID,3个字节是随机数。一个24位的十六进制字符串可以表示一个ObjectID对象。
ObjectID中的4个字节是当前时间的时间戳,精确到秒级别。这个时间戳是从格林威治时间1970年1月1日00:00:00以来经过的秒数。因此,通过ObjectID对象可以获取该文档的创建时间。
const objectId = ObjectId('5f0dad8f37defb03016df12c');
const timestamp = objectId.getTimestamp();
console.log(timestamp); //2020-07-15T08:45:51.000Z
在MongoDB中,我们可以使用ObjectID来查询文档,例如:
const collection = db.collection('users');
const result = await collection.findOne({ _id: new ObjectId('5f0dad8f37defb03016df12c') });
console.log(result); //查询到的文档对象
在使用ObjectID时,需要注意以下几点:
ObjectID包含一个时间戳,用于记录文档的创建时间。在MongoDB中,可以通过ObjectID进行精准的文档查询。了解了ObjectID的含义和使用方法,我们可以更好地利用MongoDB的功能。