TinyDB插入表行之间



向TinyDB表添加新数据的唯一方法是使用table.insert()方法。然而,这会将条目附加到表的末尾,但我希望维护条目的顺序,有时我需要插入到表中间的任意索引中。没有办法做到这一点吗?

没有办法满足您的要求。通常,创建的默认索引跟踪插入顺序。当你添加数据时,它会在最后。如果您需要维护特定的顺序,您可以创建一个新的属性来处理该情况,并对该属性进行排序检索。

如果你真的想插入一个特定的id,你需要添加一些逻辑来级联文档。逻辑流程如下:

  1. 插入一条与上一条记录相等的新记录
  2. 然后,返回并将记录级联到新的打开位置
  3. 到达需要的位置时停止,并使用ID用要插入的内容更新记录

由于必须向下移动记录,因此性能会下降。还有其他方法可以维护列表——这类似于在数组中间插入一条记录。类似的方法也适用于此。祝你好运

最新更新