AI Workshop: learn to build apps with AI →
IndexedDB: Deleting data

Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.


Deleting the database, an object store, and data

Delete an entire IndexedDB database

// First, import deleteDB from `idb`:

import { deleteDB } from 'idb'
// or
import { deleteDB } from 'https://cdn.jsdelivr.net/npm/idb@7/+esm'

// Then:

const dbName = 'mydbname'
await deleteDB(dbName)

To delete data in an object store

We use a transaction:

(async () => {
  //...

  const dbName = 'mydbname'
  const storeName = 'store1'
  const version = 1

  const db = await openDB(dbName, version, {
    upgrade(db, oldVersion, newVersion, transaction) {
      const store = db.createObjectStore(storeName)
    }
  })

  const tx = await db.transaction(storeName, 'readwrite')
  const store = await tx.objectStore(storeName)

  const key = 'Hello again'
  await store.delete(key)
  await tx.done
})()

Lessons in this unit:

0: Introduction
1: Loading the idb library
2: Creating a database and a store
3: Adding data into a store
4: Retrieving data from a store
5: ▶︎ Deleting data
6: Migrations
7: Unique keys