gpt4 book ai didi

sorting - CouchDB - 按位置对文档进行排序

转载 作者:行者123 更新时间:2023-12-01 01:35:23 25 4
gpt4 key购买 nike

在 CouchDB 中按用户定义的顺序(位置)对多个文档进行排序/排序的最佳实践是什么?

我想到的解决方案:

  • 每个文档都有一个“位置”值,从 1 到 n。 View 会发出这个值。问题:如果对一个文档进行排序,则所有其他位置更大的文档都必须更新。这可能是数百个更新。唔。
  • 每个文档都知道它是前一个文档的 _id。检索 View 后生成订单。
  • 这是一个特殊的文档,它存储了所有应该在数组中排序的文档的 _id。我们在检索 View 后再次对这个解决方案进行排序。

  • 有没有其他或更简单的解决方案?在 RDBMS 解决方案中 1. 是最佳实践,一个简单的更新查询完成了所有文档的位置更新。

    此致,
    伯恩德

    最佳答案

    您可以使用浮点值,例如介于 0.0 和 1.0 之间的位置。要将文档 A 移动到文档 B 和 C 之间,只需将其新位置设置为 (B.position + C.position) / 2.0 (即他们的位置的平均值)。

    关于sorting - CouchDB - 按位置对文档进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2419413/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com