Mongodb自然排序在非封顶集合上,有多大的错误?

Mongodb自然排序在非封顶集合上,有多大的错误?,mongodb,Mongodb,mongo文档解释说,自然排序不能保证在无上限集合中工作 但这有多错呢?对于非关键用例,0.1%的不准确度是完全可以接受的,特别是在性能/大小节省的情况下 谢谢。如前所述和文件所述:您没有任何保证,因此无法给出任何数字。对无上限的集合使用$natural sort(order)没有错 $natural的含义在封顶集合和普通集合(可以进行更新/删除)上有很大不同。对于定期收集,文档的顺序可能会随着时间的推移而改变 如果您想按插入顺序返回文档,那么$natural索引(实际上不是索引)除了capp

mongo文档解释说,自然排序不能保证在无上限集合中工作

但这有多错呢?对于非关键用例,0.1%的不准确度是完全可以接受的,特别是在性能/大小节省的情况下


谢谢。

如前所述和文件所述:您没有任何保证,因此无法给出任何数字。

对无上限的集合使用$natural sort(order)没有错

$natural的含义在封顶集合和普通集合(可以进行更新/删除)上有很大不同。对于定期收集,文档的顺序可能会随着时间的推移而改变


如果您想按插入顺序返回文档,那么$natural索引(实际上不是索引)除了capped集合之外对任何东西都没有用处。这是因为只有封顶集合才要求不能在集合中删除或移动文档

用例是什么?太空船的日志记录或关键任务轨迹计算(在后一种情况下,0.1%实际上会让你错过目的地,即使你的计算速度很快)@Matt,显然这不是关键任务……你知道是什么导致自然顺序发生变化吗?正如我所说,自然顺序不是自然的,而是磁盘上的顺序。例如,如果从集合中删除文档,则该漏洞可以由新文档填补。另一个示例是复制:当副本集中的辅助节点进行初始同步时,它可能会以与主节点100%不同的顺序将数据写入磁盘。我不需要保证,如果有某种方法可以告诉我什么时候订单会被打乱,那么我可能能够计算出可能的“典型”错误率,至少对于一个特定的用例