PWA 技术教程之 IndexedDB 操作入门

阅读时长 5 分钟读完

什么是 IndexedDB

IndexedDB 是浏览器内置的数据库,允许 Web 应用程序存储大量的结构化数据,并允许您执行高效的查询。IndexedDB 采用对象存储机制,也就是说,它存储的是对象而不是字符串或 JSON。

IndexedDB 操作入门

打开数据库

在 IndexedDB 中创建一个数据库之前,需要先打开它。使用以下代码打开一个名为 "myDatabase" 的数据库。

open 方法接受两个参数 - 数据库名称和版本号。如果数据库不存在,则会自动创建一个新的数据库。

创建表格

在数据库中创建表格之前,您需要创建一个对象存储区域。对象存储区域是一个存储数据对象的位置,每个对象存储区域可以存储多个数据对象。以下代码创建了一个名为 "myTable" 的对象存储器以及一个唯一的键索引。

现在,您已经成功创建了一个名为 "id" 的自增键和一个名为 "uniqueId" 的索引,这表示在 "myTable" 表格中,每个对象都会有一个唯一的 "id" 编号,并且该编号不会重复。

添加数据

将数据添加到数据库中的步骤如下:

-- -------------------- ---- -------
----------------- - ----------- -
  ----- -- - ----------------
  ----- -- - ------------------------- -------------
  ----- ----- - --------------------------

  ----- ---- - - ----- ----- ---- -- --
  ----- ------- - ----------------
  
  ----------------- - ----------- -
    ----------------------------
  --
  
  ------------- - ---------- -
    -----------
  --
--

首先,需要创建一个事务(transaction),事务用来包含一个操作序列,并且可以确保一系列操作要么全部成功,要么全部失败。在该事务中,使用 objectStore 从数据库中获取 "myTable" 表格,并使用 add 方法将数据添加到该表格中。

读取数据

读取数据的步骤如下:

-- -------------------- ---- -------
----------------- - ----------- -
  ----- -- - ----------------
  ----- -- - ------------------------- -------------
  ----- ----- - --------------------------
  ----- ----- - ------------------------

  ----- ---------- - ----------------
  
  -------------------- - ----------- -
    -----------------------------
  --
  
  ------------- - ---------- -
    -----------
  --
--

在该事务中,首先使用 objectStore 从数据库中获取 "myTable" 表格,然后使用 index 方法获取 "uniqueId" 索引,使用 get 方法获取带有 "id" 键值的数据对象,并将其打印到控制台上。

更新数据

更新数据的步骤如下:

-- -------------------- ---- -------
----------------- - ----------- -
  ----- -- - ----------------
  ----- -- - ------------------------- -------------
  ----- ----- - --------------------------

  ----- ---- - - --- ---- ----- ----- ---- -- --
  ----- ------- - ----------------
  
  ----------------- - ----------- -
    ----------------------------
  --
  
  ------------- - ---------- -
    -----------
  --
--

在该事务中,使用 objectStore 从数据库中获取 "myTable" 表格,并使用 put 方法来更新 "id" 为 123 的数据对象。

删除数据

删除数据的步骤如下:

-- -------------------- ---- -------
----------------- - ----------- -
  ----- -- - ----------------
  ----- -- - ------------------------- -------------
  ----- ----- - --------------------------

  ----- ------------- - ------------------
  
  ----------------------- - ----------- -
    ----------------------
  --
  
  ------------- - ---------- -
    -----------
  --
--

在该事务中,使用 objectStore 从数据库中获取 "myTable" 表格,并使用 delete 方法删除 "id" 为 123 的数据对象。

总结

通过本文的介绍,您已经学会如何打开数据库、创建表格、添加、读取、更新和删除数据。这些技能对于开发 PWA 应用非常重要,尤其是当您需要缓存大量数据时。在实际应用中,您还需要学习各种 IndexedDB API 和操作技巧来更好地满足您的需求。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c4da4e83d39b488183db7f

纠错
反馈