Mongodb对象ID和分页

时间:2019-07-16 20:18:34

标签: mongodb pagination

我对周围的对象ID比较和自然排序不太了解,特别是-

由于每个对象ID均大于先前的对象ID,因此在同一秒内生成的ID除外(在这种情况下,不能保证更大),因此相同范围的分页查询始终保证页面上的顺序不会改变,假设该页面上没有文档被删除?

从直觉上看,答案应该为“是”,因为每个新ID都会在下一页上显示,但是自然排序并不能保证所有条件下的订单。

1 个答案:

答案 0 :(得分:0)

除了文档的更新和删除外,还有第三种影响自然顺序的更改:文档的增长方式

当文档超出其初始空间分配时,它将被移动,从而修改了自然顺序。这种情况甚至可能导致新的副作用:插入新文档时,可以将其存储在第一个文档留下的那个“空洞”中。

因此,对于 Normal Collection ,您不能保证自然顺序保持不变。如果需要依靠文档插入顺序,则应考虑Capped Collections