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

Javascript IndexedDb-检查表存在并包含数据,javascript,html,indexeddb,jaydata,Javascript,Html,Indexeddb,Jaydata,当我的应用程序第一次运行时,我使用IndexedDB填充一些数据,我希望确保在创建数据库和表时,它们并不存在 我可以查询一个表的长度,看看它是否包含JavaScript格式的数据吗?您可以使用函数,但我建议存储某种元数据,表示您的本地数据库已初始化。否则,您可以在数据创建过程中重新加载页面,并且永远不会使数据与远程数据完全同步。如果不存在具有指定名称的数据库,则会创建该数据库,否则会打开该数据库 例如,var请求=indexedDB.open(“DataTbl”) 因此,如果您的数据库已经存在,

当我的应用程序第一次运行时,我使用IndexedDB填充一些数据,我希望确保在创建数据库和表时,它们并不存在


我可以查询一个表的长度,看看它是否包含JavaScript格式的数据吗?

您可以使用函数,但我建议存储某种元数据,表示您的本地数据库已初始化。否则,您可以在数据创建过程中重新加载页面,并且永远不会使数据与远程数据完全同步。

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

例如,
var请求=indexedDB.open(“DataTbl”)

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

您还可以在@toske指定的try-to-count函数中给出

参考:


    • 最好的方法是尝试在try-catch块中打开objectStore。它也是同步的。如果出现错误,您可以创建存储,例如:

      var store;
        try {
          store = request.transaction.objectStore('yourStore');
        }
        catch(e) {
          store = db.createObjectStore('yourStore');
      }
      

      CLiown,toske有正确的答案,如果它解决了你的问题,请接受它。