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

相关推荐
2401_867623987 分钟前
golang如何实现布隆过滤器_golang布隆过滤器实现教程
jvm·数据库·python
m0_740796369 分钟前
golang如何编写Markdown转HTML工具_golang Markdown转HTML工具编写详解
jvm·数据库·python
dblens 数据库管理和开发工具12 分钟前
除了传统数据库工具,MariaDB 用户现在有了一个 Agent 工作台
数据库·mariadb
2403_8832610912 分钟前
CSS如何实现Bootstrap进度条自定义动画_利用keyframe关键帧
jvm·数据库·python
2301_7693406714 分钟前
CSS如何兼容新旧方案结合响应式容器查询
jvm·数据库·python
weixin_4597539419 分钟前
MySQL 中高效存储与查询时间数据的最佳实践
jvm·数据库·python
qq_3926906620 分钟前
HTML函数能否用老旧主板BIOS限制功能_固件版本影响分析【汇总】
jvm·数据库·python
ZC跨境爬虫24 分钟前
跟着 MDN 学 HTML day_29:(动态构建与更新 DOM 树)
前端·javascript·ui·html·html5·媒体
qq_3926906626 分钟前
Go语言如何做图片缩放_Go语言图片缩放裁剪教程【推荐】
jvm·数据库·python
编程技术手记29 分钟前
html table布局平衡
前端·html