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