taffyDB 不保存数据
taffyDB not save the data
我正在使用 TaffyDB 建立 local/offline 数据库
但不幸的是 - 在刷新浏览器选项卡后 - 它丢失了数据
示例:
我有这个初始变量
var clist = TAFFY();
按钮上的 onclick 事件 - 它执行此语句
clist.insert({"123" , count:count , color:color , size:size});
单击它并重新加载浏览器选项卡后,我执行此语句
alert(clist({PID : "123"}).count());//output 0
但是前面的语句应该输出 1
but unfortunately - after refreshing the browser tab - it loses the data
嗯,是的,这就是 TaffyDB 的工作原理。
however the previous statement should output 1
不,不应该。
TaffyDB 仅在内存中。一旦脚本的上下文被拆除,例如在页面重新加载时,它就消失了。如果你想坚持下去,你必须自己去做。
最简单的做法是将整个数据集序列化为 JSON 并将其推入 localstorage
,前提是它足够小以适合那里。
根据 taffydb documentation,要将数据持久保存到 localStorage,您可以使用 db.store()
let db = TAFFY()
db.store('mydb')
这个单一函数既可以将当前数据存储在内存中,也可以检索以前存储的数据。因此,如果您在脚本的开头调用存储,那么在 window 刷新时,将加载存储的数据。
注意: 但是,db.store()
的保存例程被称为非阻塞进程...所以如果您希望立即检索您存储的数据在 localStorage 上使用其他一些调用,它可能不存在。因此,store() 的最佳做法是在 window 加载时调用它,然后在您希望保存现有数据时调用它。
我正在使用 TaffyDB 建立 local/offline 数据库
但不幸的是 - 在刷新浏览器选项卡后 - 它丢失了数据
示例: 我有这个初始变量
var clist = TAFFY();
按钮上的 onclick 事件 - 它执行此语句
clist.insert({"123" , count:count , color:color , size:size});
单击它并重新加载浏览器选项卡后,我执行此语句
alert(clist({PID : "123"}).count());//output 0
但是前面的语句应该输出 1
but unfortunately - after refreshing the browser tab - it loses the data
嗯,是的,这就是 TaffyDB 的工作原理。
however the previous statement should output 1
不,不应该。
TaffyDB 仅在内存中。一旦脚本的上下文被拆除,例如在页面重新加载时,它就消失了。如果你想坚持下去,你必须自己去做。
最简单的做法是将整个数据集序列化为 JSON 并将其推入 localstorage
,前提是它足够小以适合那里。
根据 taffydb documentation,要将数据持久保存到 localStorage,您可以使用 db.store()
let db = TAFFY()
db.store('mydb')
这个单一函数既可以将当前数据存储在内存中,也可以检索以前存储的数据。因此,如果您在脚本的开头调用存储,那么在 window 刷新时,将加载存储的数据。
注意: 但是,db.store()
的保存例程被称为非阻塞进程...所以如果您希望立即检索您存储的数据在 localStorage 上使用其他一些调用,它可能不存在。因此,store() 的最佳做法是在 window 加载时调用它,然后在您希望保存现有数据时调用它。