IndexedDb-检查表是否存在并包含数据

问题描述 投票:1回答:3

在我的应用程序首次运行时使用IndexedDB,我在其中填充了一些数据,我想确保在创建数据库和表时它们不存在。

我可以查询表的长度以查看它是否包含JavaScript中的数据吗?

javascript html5 indexeddb jaydata
3个回答
1
投票

您可以使用objectStore.count()函数,但我建议存储某种元数据,该数据将表明您的本地数据库已初始化。否则,您可能会在数据创建过程中重新加载页面,而永远不会将数据与远程数据完全同步。


0
投票

如果具有指定名称的数据库不存在,则会创建该数据库,否则它将打开它

例如var request = indexedDB.open("DataTbl");

因此,如果您的数据库已经存在,它将直接将其打开,然后检查表中的内容是否已存在,那么您可以创建一个xyz对象存储并在其中存储一些键/值标志对,指出插入成功并检查每次重新加载页面时都会显示。

您也可以尝试计算@toske指定的功能

ref:


0
投票

最佳方法是尝试在try catch块中打开objectStore。它也是同步的。如果发生错误,您可以创建商店,例如:

var store;
  try {
    store = request.transaction.objectStore('yourStore');
  }
  catch(e) {
    store = db.createObjectStore('yourStore');
}
© www.soinside.com 2019 - 2024. All rights reserved.