indexeddb - 存在并包含数据
-
12-12-2019 - |
题
使用IndexedDB当我的应用程序首次运行时,我用一些数据填充它,我希望确保在创建数据库和表时,它们尚不存在。
我可以查询表的长度,以查看它是否包含javascript中的数据?
解决方案
最好的方法是尝试打开ObjectStore试用捕获块。它也是同步的。在错误的情况下,您可以创建存储:
var store;
try {
store = request.transaction.objectStore('yourStore');
}
catch(e) {
store = db.createObjectStore('yourStore');
}
. 其他提示
您可以使用 objectstore.count()功能,但我建议存储某种元数据,这些元数据会说初始化您的本地数据库。否则,您可以在数据创建中间中重新加载,并且永远不会与远程数据完全同步的数据。
如果使用指定名称的数据库不存在其打开它,则会创建数据库
eg.var request = indexedDB.open("DataTbl");
因此,如果您的数据库已经存在,它将只打开它,并检查表中已存在的内容是否存在,则可以制作XYZ对象库并将某些键/值标志对存储在其中,因此插入是成功的当页面重新加载时,请稍后检查。
还可以尝试计算@toske
指定的函数ref:
不隶属于 StackOverflow