0
嘗試更新記錄名稱字段,但不更新記錄,而是創建新記錄。IndexedDB更新記錄
我的代碼
function editName(e) {
var transaction = db.transaction(["people"],"readwrite");
var store = transaction.objectStore("people");
var request = store.get(5);
request.onsuccess = function(e) {
var data = e.target.result;
data.name = "John";
var objRequest = store.put(data);
objRequest.onsuccess = function(e){
console.log('Success in updating record');
};
}
}
尋找記錄5和試圖改變它的名字領域的約翰。我一直在關注Raymond Camden教程http://code.tutsplus.com/tutorials/working-with-indexeddb-part-2--net-35355並搜索其他示例,如IndexedDB update by id,但似乎無法使其適應我需要的工作。
你可以分享你如何定義對象庫嗎? – 2014-10-03 11:00:41
嗨雷蒙德剛剛發現了這一點。我需要將記錄的id放入objRequest中。 var objRequest = store.put(data,+ r); r是關鍵數字。就像說我認爲你的教程非常有用,只是因爲刪除和更新功能而迷失了方向。 – csb 2014-10-03 11:10:52
有趣。 Put的文檔(https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore.put)表示指定PK是可選的。在我的測試中,我把它留給了我,因爲我的對象包含了PK。想知道你爲什麼沒有? – 2014-10-03 11:19:05