SyntaxStudy
Sign Up
JavaScript Advanced 6 min read

IndexedDB Introduction

IndexedDB

IndexedDB is a low-level, transactional client-side database for storing large amounts of structured data. It supports indexes, queries, and stores any serializable JavaScript value.

Example
// Open database
const request = indexedDB.open("myDB", 1);

request.onupgradeneeded = (event) => {
  const db = event.target.result;
  const store = db.createObjectStore("users", { keyPath: "id" });
  store.createIndex("name", "name");
};

request.onsuccess = (event) => {
  const db = event.target.result;
  const tx = db.transaction("users", "readwrite");
  tx.objectStore("users").add({ id: 1, name: "Alice" });
};
Pro Tip

Use the idb library (by Jake Archibald) for a Promise-based IndexedDB wrapper — the raw API is callback-heavy.