taffyDB не сохраняет данные - PullRequest
0 голосов
/ 26 апреля 2018

Я использую TaffyDB , чтобы иметь локальную / автономную базу данных

но, к сожалению - после обновления вкладки браузера - он теряет данные

Пример: У меня есть эта начальная переменная

var clist = TAFFY();

Событие onclick на кнопке - оно выполняет этот оператор

clist.insert({"123" , count:count , color:color , size:size});

после нажатия на нее - и перезагрузить вкладку браузера, я выполняю эту инструкцию

alert(clist({PID : "123"}).count());//output 0

однако предыдущий оператор должен вывести 1

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Согласно документации taffydb , чтобы сохранить данные в localStorage, вы можете использовать db.store()

let db = TAFFY()
db.store('mydb')

. Эта единственная функция будет хранить текущие данные в памяти и извлекать ранеесохраненные данные.Итак, если вы вызываете store в начале вашего скрипта, то при обновлении окна сохраненные данные будут загружены.

ВНИМАНИЕ: Однако подпрограмма сохранения для db.store() вызывается как неблокирующий процесс ... поэтому, если вы хотите немедленно извлечь данные, которые вы сохранили, используя другой вызовlocalStorage, скорее всего, там не будет.Таким образом, наилучшая практика для store () - вызывать его при загрузке окна, а затем всякий раз, когда вы хотите сохранить существующие данные.

0 голосов
/ 26 апреля 2018

но, к сожалению - после обновления вкладки браузера - он теряет данные

Ну да, так работает TaffyDB.

однако предыдущий оператор должен вывести 1

Нет, не должно.

TaffyDB только в памяти. Как только контекст вашего сценария будет разрушен, например, при перезагрузке страницы, он исчезнет. Если вы хотите сохранить это, вы должны сделать это сами.

Самое простое, что нужно сделать - это сериализовать весь набор данных как JSON и вставить его в localstorage, при условии, что он достаточно мал, чтобы поместиться там.

...