【问题标题】:Is natural order in MongoDB stable?MongoDB中的自然顺序是否稳定?
【发布时间】:2020-07-30 11:17:00
【问题描述】:

MongoDB 文档https://docs.mongodb.com/manual/reference/glossary/#term-natural-order 将自然顺序定义为

数据库引用磁盘上文档的顺序。这是默认的排序顺序。

另外,https://docs.mongodb.com/manual/reference/method/cursor.sort/#return-natural-order 上面写着以下内容:

此排序是一个内部实现功能,您不应依赖其中的任何特定结构。

那么,在以下情况下自然排序会发生变化吗?

  1. 正常操作:压缩、复制、备份/恢复、从健康的副本引导节点
  2. 存储引擎升级
  3. 还有别的吗?

我的意思是,如果一个查询没有指定排序(或请求 $natural 排序),那么现有集合是否有可能以不同的顺序返回一段时间后查询?有保证吗?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    有什么保证吗?

    什么都没有。

    是否有可能在一段时间后由该查询以不同的顺序返回现有集合、未触及的数据?

    是的。已发布的文档允许这种可能性。出于实际原因,这不太可能,但如果数据库决定有一天突然改变文档的顺序,它不会违反它在已发布文档中做出的任何承诺。

    正常操作:压缩、复制、备份/恢复、从健康的副本引导节点

    除此之外,插入单个文档可以更改现有文档的顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多