如果列不断更新,MongoDB 如何保持索引的数字列始终排序?

Posted

技术标签:

【中文标题】如果列不断更新,MongoDB 如何保持索引的数字列始终排序?【英文标题】:How does MongoDB keep a numeric column, which is indexed, always sorted if the column is constantly updated? 【发布时间】:2021-12-29 22:57:20 【问题描述】:

更新此列后会发生什么? MongoDB 是做什么的?每次更新后保持此列排序的时间复杂度是多少?

【问题讨论】:

【参考方案1】:

MongoDB 不会对文档进行排序。

索引条目存储在类似 btree 的结构中。当一个值被更新时,包含旧条目的条目被删除,并在树中的适当点插入一个新条目。

Wikipedia 将 btree 中插入和删除的时间复杂度报告为 O(log n)。

【讨论】:

以上是关于如果列不断更新,MongoDB 如何保持索引的数字列始终排序?的主要内容,如果未能解决你的问题,请参考以下文章

更改数据框索引值,同时保持其他列数据相同

PostgreSQL - 如何保持列更新

mongodb索引啥时候更新?

从shell中更新/写入到文档的数字,会变为float类型,怎么解决

更新/插入子文档时的 mongodb 性能

使回文检查器保持字符串索引超出范围错误的一半,如何解决?