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

相关推荐
程序猿20233 分钟前
SQL-性能优化
数据库·sql·性能优化
程序员王天3 分钟前
SQLite 查询优化实战:从9秒到300毫秒
数据库·electron·sqlite
码农水水4 分钟前
宇树科技Java被问:数据库连接池的工作原理
java·数据库·后端·oracle
朱穆朗4 分钟前
electron升级到33.0.x版本后,devtools字体的修改方法
前端·javascript·electron
yangmf20409 分钟前
INFINI Gateway 助力联想集团 ES 迁移升级
大数据·数据库·elasticsearch·搜索引擎·gateway·全文检索
IT_陈寒13 分钟前
Java 21新特性实战:5个必学的性能优化技巧让你的应用提速40%
前端·人工智能·后端
码农阿豪14 分钟前
MySQL 亿级大表(1.35亿条)安全添加字段实战指南
数据库·mysql·安全
HarrySunCn17 分钟前
大夏龙雀DX-CT511N-B实战之路-第1步
前端·单片机·物联网·iot
典龙33020 分钟前
推荐一款开源免费的AI智能数据库工具,支持连接mysql,oracle,postgresql,ssh,redis
数据库·mysql
怎么没有名字注册了啊20 分钟前
VMware 完整版安装 Debian 纯命令行系统(无图形化、超详细全程教程)
linux·服务器·网络·数据库·debian