CodeBlanks Logo Icon CodeBlanks

Object store oluşturma

JavaScript kursu · İleri seviye · Ders 86/100

Bir veritabanında object store oluşturmayı ve keyPath'i öğrenirsin.

Object store ve keyPath

IndexedDB'de veriler object store denen kümeler halinde tutulur. Her store kayıtları anahtarla bulur; keyPath özelliği kaydın hangi alanının anahtar olduğunu belirtir.

const store = db.createObjectStore('notes', { keyPath: 'id' });

Burada 'notes' store adı, { keyPath: 'id' } ise her kaydın id alanının anahtar olduğunu söyler. Object store oluşturmak yalnızca onupgradeneeded içinde yapılabilir.

onupgradeneeded ve event.target.result

onupgradeneeded olayının dinleyicisi bir event alır. event.target.result, sürümü yükseltilen IDBDatabase örneğidir; bu nesne üzerinde createObjectStore ve createIndex çağrılarını yaparsın.

request.onupgradeneeded = function(event) {
  const db = event.target.result;
  db.createObjectStore('notes', { keyPath: 'id' });
};

Bu olay yalnızca bir kez çalışır: sürüm değişince. Bu yüzden tüm yapı oluşturma işleri burada yapılır.

Uygulama notes store'u oluştur

request.onupgradeneeded'a bir fonksiyon ata. Fonksiyon içinde event.target.result'i db değişkenine al. db.createObjectStore ile 'notes' adında bir store oluştur ve keyPath olarak 'id' ver.

Örnek çözümü göster
request.onupgradeneeded = function(event) {
  const db = event.target.result;
  db.createObjectStore('notes', { keyPath: 'id' });
};

Kendini test et

  1. Object store oluştur

    const store = db.____('notes', { keyPath: 'id' });
    Cevabı göster
    const store = db.createObjectStore('notes', { keyPath: 'id' });
  2. keyPath ne işe yarar?

    • Store'a dosya ekler
    • Veritabanı sürümünü döndürür
    • Kaydın hangi alanının anahtar olacağını belirtir
    • İndeks oluşturur
    Cevabı göster

    Kaydın hangi alanının anahtar olacağını belirtir — Doğru! keyPath, kaydın anahtar alanını belirler.

  3. IndexedDB terimlerini eşleştir

    object store
    kayıt kümesi
    keyPath
    anahtar alanı
    createObjectStore
    store oluşturma
    onupgradeneeded
    yapı değişimi

İleri seviye bölümündeki tüm dersler