indexDB vue 创建数据库 创建表 添加对象数据

1 .open(dbName,1) 版本号可以省略

javascript 复制代码
 let dbName = 'hist-data-1d'
      const request = indexedDB.open(dbName); // 如果你不知道数据库的版本号,可以省略第二个参数,这样 indexedDB 会默认为你打开最新版本的数据库,因为版本号总是自增长的

2 第一次创建表 或数据库版本变化时创建表

javascript 复制代码
// 数据库版本变化时创建表
      request.onupgradeneeded = event => {
        for (let symbol of symbolList) { //  for (let symbol in symbolList) 循环打印出来的是 symbolList 中每个元素的索引
          symbol = symbol.replace('-', '_').toLowerCase();

          const db = event.target.result;
          db.createObjectStore(symbol);
        }
      };

3 指定表 添加数据 key value

javascript 复制代码
 request.onsuccess = event => {

    const db = event.target.result;
    const transaction = db.transaction([tablie], 'readwrite');
    const objectStore = transaction.objectStore(tablie);
    
    let key = 'key'
    const request = objectStore.add(data, key);
}

4 add 是累加数据 put 是只有一条数据

javascript 复制代码
const request = objectStore.add(data, key);

ps

ps1. 如果使用 add 方法添加的数据中 key 已经存在于对象仓库中,则会抛出 ConstraintError 错误

ps2 .需要更新已经存在的数据,你应该使用 put 方法而不是 add 方法

相关推荐
远方160929 分钟前
59-Oracle 10046事件-知识准备
大数据·数据库·sql·oracle·database
静听山水1 小时前
PostgreSQL/Hologres 外部数据包装器系统表 pg_foreign_data_wrapper 详解
数据库·postgresql
神洛华1 小时前
SQL Server基础语句1:基础查询、数据筛选 / 排序 、分组聚合
数据库·sql
烛阴1 小时前
Python多进程开发实战:轻松突破GIL瓶颈
前端·python
DoWeixin61 小时前
【请关注】mysql一些经常用到的高级SQL
数据库·mysql
爱分享的程序员1 小时前
前端面试专栏-主流框架:11. React Router路由原理与实践
前端·javascript·react.js·面试
时序数据说1 小时前
时序数据库双存储引擎技术解析
大数据·数据库·物联网·开源·时序数据库·iotdb
刘 怼怼1 小时前
Element UI 表格中实现搜索关键字高亮的
vue.js·ui·elementui
weixin_459074351 小时前
在el-image组件的预览中添加打印功能(自定义功能)
前端·javascript·vue.js
远方16091 小时前
54-Oracle 23 ai DBMS_HCHECK新改变-从前的hcheck.sql
大数据·数据库·sql·oracle·database