有没有一种方法可以检查 IndexedDB 数据库是否已经存在?当程序尝试打开一个不存在的数据库时,该数据库将被创建。 我能想到的唯一方法是类似以下代码,测试对象存储是否已经存在,如果不存在,则删除数据库:
var dbexists=false;
var request = window.indexedDB.open("TestDatabase");
request.onupgradeneeded = function(e) {
db = e.target.result;
if (!db.objectStoreNames.contains('todo')) {
db.close();
indexedDB.deleteDatabase("TestDatabase");
} else {
dbexists=true;
}
}