相关疑难解决方法(0)

当没有指定排序顺序时,MongoDB如何对记录进行排序?

当我们在没有指定任何排序顺序的情况下运行Mongo find()查询时,数据库内部使用什么来对结果进行排序?

根据mongo网站上文档:

执行不带参数的find()时,数据库以正向自然顺序返回对象.

对于标准表,自然顺序不是特别有用,因为尽管订单通常接近于订单,但不能保证.但是,对于Capped Collections,自然顺序保证为插入顺序.这非常有用.

但是对于标准集合(非上限集合),使用哪个字段对结果进行排序?它是_id字段还是别的什么?

编辑:

基本上,我想我想要的是,如果我执行以下搜索查询:

db.collection.find({"x":y}).skip(10000).limit(1000);
Run Code Online (Sandbox Code Playgroud)

在两个不同的时间点:t1t2,我会得到不同的结果集:

  1. 当t1和t2之间没有额外的写入时?
  2. 当t1和t2之间有新的写入时?
  3. 在t1和t2之间添加了新的索引?

我已经在临时数据库上运行了一些测试,我得到的结果与所有3个案例相同() - 但我想确定并且我确信我的测试用例不是很彻底.

mongodb

89
推荐指数
2
解决办法
3万
查看次数

标签 统计

mongodb ×1