我试图查看某个条目是否已存在于objectStore中。如果条目存在,我需要改变它的一些领域;如果条目不存在,我需要添加它。在IndexedDB objectStore中搜索不存在的键仍然会返回成功
这里是我的查询:
var db = html5rocks.indexedDB.db;
var trans = db.transaction(["topics"], "readwrite");
var store = trans.objectStore("topics");
var findRequest = store.get(tHash);
findRequest.onsuccess = function(event){
console.log("logging event");
console.log(event);
var cursor = event.target.result;
}
findRequest.onerror(e){
console.log(e);
}
我遇到的问题是,findRequest.onsuccess
功能始终闪光 - 尽管这是不可能的get(tHash)
请求找到任何东西(顺便说一句,在“主题”对象存储包含零条目时,我这样做...)。 我想我会使用onsuccess
和onerror
函数来判断是否需要更新现有记录或创建新记录。我究竟做错了什么?
的可能重复(http://stackoverflow.com/questions/14447030/why-does-indexeddb-objectstore-get-call-on-access-even-the-the-objectstore-does) – Josh