indexedDB 更新資料
實際應用中,我們無意增加資料,而是修改當前已經存在的資料。
本文將通過程式碼例項介紹一下indexedDB資料庫如何更新當前已經存在的資料。
首先通過下面的程式碼批量增加一些資料:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> let students=[ { id:1001, name:"張三", age:21, sex:"男" },{ id:1002, name:"李四", age:20, sex:"女" },{ id:1003, name:"王五", age:19, sex:"女" } ]; let request = window.indexedDB.open("antzone", 1); request.onupgradeneeded = (ev) => { let db = ev.target.result; if (!db.objectStoreNames.contains('students')) { let objectStore = db.createObjectStore('students',{keyPath:"id"}); objectStore.createIndex("xingbie","sex",{ unique: false }); } } request.onsuccess = (ev) => { let db = ev.target.result; let transaction = db.transaction(['students'], 'readwrite'); let objectStore = transaction.objectStore('students'); for(let i=0;i<students.length;i++){ objectStore.add(students[i]); } } </script> </head> <body> <p>indexedDB資料庫批量增加資料</p> </body> </html>
程式碼執行效果截圖如下:
上述程式碼為指定物件倉庫新增了三條資料,下面我們來修改第四條資料。
通過IDBObjectStore.put()方法可以實現更新資料效果,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> let students=[ { id:1001, name:"張三", age:21, sex:"男" },{ id:1002, name:"李四", age:20, sex:"女" },{ id:1003, name:"王五", age:19, sex:"女" } ]; let request = window.indexedDB.open("antzone", 1); request.onupgradeneeded = (ev) => { let db = ev.target.result; if (!db.objectStoreNames.contains('students')) { let objectStore = db.createObjectStore('students',{keyPath:"id"}); objectStore.createIndex("xingbie","sex",{ unique: false }); } } request.onsuccess = (ev) => { let db = ev.target.result; let transaction = db.transaction(['students'], 'readwrite'); let objectStore = transaction.objectStore('students'); let putRequest = objectStore.put({id:1003, name:'螞蟻部落', age:5, email:'ant@163.com'}); putRequest.onsuccess = function (event) { console.log('資料更新成功'); }; putRequest.onerror = function (event) { console.log('資料更新失敗'); } } </script> </head> <body> <p>indexedDB資料庫批量增加資料</p> </body> </html>
程式碼執行效果截圖如下:
通過IDBObjectStore.put()方法將第三條資料進行了更新。
關於上述方法的實用方式可以參閱IDBObjectStore.put()方法一章節。
相關文章
- indexedDB 新增資料Index
- IndexedDB 資料庫新增資料Index資料庫
- indexedDB 查詢資料Index
- indexedDB 遍歷資料Index
- indexedDB 資料庫 索引Index資料庫索引
- indexedDB 刪除資料Index
- indexedDB 批量新增資料Index
- indexedDB 資料庫版本Index資料庫
- IndexedDB 資料庫概述Index資料庫
- IndexedDB 資料庫用法Index資料庫
- indexedDB 刪除資料庫Index資料庫
- indexedDB 資料庫主鍵Index資料庫
- indexedDB 通過索引查詢資料Index索引
- indexedDB 刪除物件倉庫所有資料Index物件
- 瀏覽器資料庫 IndexedDB(一) 概述瀏覽器資料庫Index
- IndexedDB 建立資料庫時使用自增的Key 更新資料庫遇到的問題的一點記錄Index資料庫
- 瀏覽器資料庫 IndexedDB 入門教程瀏覽器資料庫Index
- IndexedDB.open()開啟與新建資料庫Index資料庫
- IndexedDB.open() 開啟與新建資料庫Index資料庫
- IndexedDBIndex
- 初探IndexedDBIndex
- MySQL資料更新MySql
- 資料庫-批次更新資料庫
- 資料庫-批量更新資料庫
- 如何批量更新資料
- pymysql批量更新資料MySql
- indexedDB入門Index
- IndexedDB upgradeneeded 事件Index事件
- indexedDB.deleteDatabase()IndexdeleteDatabase
- indexedDB 修改索引Index索引
- IndexedDB詳解Index
- Ibatis批量更新資料(mysql資料庫)BATMySql資料庫
- Django RESTFramework——更新資料 (5)DjangoRESTFramework
- Hive 資料更新時間Hive
- oracle批量新增更新資料Oracle
- openGauss 更新表中資料
- flask如何更新資料庫Flask資料庫
- IndexedDB(一:基本使用)Index