获取 MongoDB 集合中第一条插入记录的最佳方法

Dee*_*hah 4 mongodb mongodb-query

我需要获取 MongoDB 集合中的第一条插入记录,我当前正在使用以下查询:

db.users.find({}).sort({"created_at":1}).limit(1);
Run Code Online (Sandbox Code Playgroud)

但是,这会占用大量内存。该集合约有 100K 条记录。

做到这一点的有效方法是什么?

Rub*_*wal 5

MongoDB _id 是唯一标识符,在将文档插入 MongoDB 集合时自动生成

_id 字段存储 ObjectId 值并自动索引。

根据 MongoDB 文档,

12 字节的 ObjectId 值包括:

4 字节值,表示自 Unix 纪元以来的秒数,

3字节机器标识符,

2 字节进程 ID,以及

3 字节计数器,以随机值开始。

根据上述问题的描述,要获取第一个插入的记录,请尝试在 MongoDB shell 中执行以下 mongodb find 操作。

db.users.find({}).sort({"_id":1}).limit(1);
Run Code Online (Sandbox Code Playgroud)

在上面的查询中,我们根据 _id 字段对结果进行排序,因为 _id 对象 ID 值由 unix 纪元时间戳组成