Mongodb文档没有按正确的顺序排列

Mongodb documents are not arranged in proper order

本文关键字:顺序 排列 文档 Mongodb      更新时间:2023-09-26

当我手动将 5 行插入 mongodb 数据库时,我可以看到 id 字段的递增顺序,但是当我插入具有更大 id 的第 6 行时,当我查询集合时,没有首先出现。 如何按ID字段的递增顺序插入?请帮忙

发生的情况是 mongodb 为你生成一个_id字段。您可以在此处阅读有关它的更多信息:创建自动递增序列字段

更具体地说是关于 ObjectId。

但实际上_id的唯一约束是它是唯一的,因此您可以推出自己的顺序实现,但不建议这样做。

通常在MongoDB中,您不会对_id字段或任何字段使用自动增量模式,因为它无法针对具有大量文档的数据库进行扩展。通常,默认值 ObjectId 更适合_id。

如果您确定自己是唯一一个将值插入数据库的人,则始终可以从 ObjectId 获取时间戳以查看某种增量感觉。

但是,如果您只想按插入顺序检索值,我建议您按照@ibininja建议进行操作。

从mongodb获取数据时,您必须这样做。MongoDB自然插入它不会保留插入时的顺序(它对文档中的字段有效,但对它自己的文档不保留

)。

更新:我没有尝试过这个,但是您可以在插入时使用有序运算符来保持顺序。

要按顺序获取结果,请使用 sort()

例:

db.collection.find({}).sort("_id":1)

希望有帮助