Вставка TinyDB между строками таблицы - PullRequest
0 голосов
/ 02 декабря 2018

Единственный способ добавить новые данные в таблицу TinyDB - это метод table.insert().Однако это добавляет запись в конец таблицы, но я хотел бы сохранить последовательность записей, и иногда мне нужно вставить в произвольный индекс в середине таблицы.Нет ли способа сделать это?

1 Ответ

0 голосов
/ 02 декабря 2018

Нет способа сделать то, что вы просите.Обычно созданный по умолчанию индекс отслеживает порядок вставки.Когда вы добавите данные, они будут идти в конце.Если вам нужно поддерживать определенный порядок, вы можете создать новое свойство для этого случая и получить его с помощью сортировки по этому свойству.

Если вы действительно хотите вставить определенный идентификатор, вам нужно будет добавить некоторую логику для каскадирования документов вниз.Логика будет выглядеть следующим образом:

  1. Вставить новую запись, равную последней записи.
  2. Затем вернуться назад и каскадировать записи в новое открытое местоположение
  3. Остановитесь, когда вы доберетесь до нужного места, и обновите запись тем, что вы хотите вставить, используя идентификатор.

Производительность снизится, поскольку вам придется сдвигать записи вниз.Есть и другие способы сохранить список - это будет похоже на вставку записи в середину массива.Подобные методы объединяют здесь.Удачи!

...