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 方法

相关推荐
yuhaiqiang8 分钟前
为什么这道初中数学题击溃了所有 AI
前端·后端·面试
djk888811 分钟前
支持手机屏幕的layui后台html模板
前端·html·layui
紫_龙13 分钟前
最新版vue3+TypeScript开发入门到实战教程之watch详解
前端·javascript·typescript
KKKlucifer27 分钟前
国产化适配与自主可控:国内安全厂商文档安全平台核心技术构建
大数据·数据库·人工智能
nexus_new28 分钟前
Flutter 纯 Dart 数据库 Tostore 快速上手指南
数据库
MaximusCoder35 分钟前
等保测评命令——达梦数据库 DM
linux·运维·数据库·安全·ffmpeg·安全威胁分析
GIS阵地37 分钟前
Warning 1: PROJ: proj_create_from_database
数据库·c++·mybatis·qgis·开源gis·pyqgis
m0_7432974237 分钟前
实战:用Python分析某电商销售数据
jvm·数据库·python
默默学前端43 分钟前
ES6模板语法与字符串处理详解
前端·ecmascript·es6
未来龙皇小蓝1 小时前
【MySQL-索引调优】07:Sql使用索引注意点
数据库·sql·mysql·性能优化