1
我想在單元測試期間反覆創建並刪除一個名稱相同的('Test')PouchDB數據庫。但是,如果在刪除它之前至少向數據庫添加一個文檔,那麼下次嘗試創建它時出現以下錯誤:無法重新創建具有相同名稱的PouchDB數據庫
「未捕獲的NotFoundError:未能在'IDBTransaction'上執行'objectStore':指定沒有找到對象存儲區。「
這發生在pouchdb.js:1950:
var docStore = transaction.objectStore(DOC_STORE); // PouchDB 3.0.6
然後,如果我看是IndexedDB,數據庫確實存在,但只有下列信息:
Security origin:http://localhost:8000
Name:_pouch_Test
Integer Version:1
String Version:
然後,如果我嘗試刪除這個數據庫,Angular拋出一個'CustomPouchError',我沒有找到它。
下面是我的應用程序相關的代碼片段:
var db = new PouchDB(dbName, function(err, result) {
if (!err) {
$log.info('Database \'' + dbName + '\' opened'); // Happens when I first create 'Test'
} else {
$log.info('Database \'' + dbName + '\' failed to open'); // Happens when I try to re-create 'Test'
}
});
db.destroy(function (err, info) {
if (err) {
$log.error(err);
} else {
$log.info("Database destroyed"); // Happens when I delete 'Test'
}
});
但是,如果我添加任何文件之前刪除數據庫,它是IndexedDB消失,然後我可以重新創建。
感謝您的幫助。