Object store oluşturma
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
-
Object store oluştur
const store = db.____('notes', { keyPath: 'id' });Cevabı göster
const store = db.createObjectStore('notes', { keyPath: 'id' }); -
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.
-
IndexedDB terimlerini eşleştir
- object store
- kayıt kümesi
- keyPath
- anahtar alanı
- createObjectStore
- store oluşturma
- onupgradeneeded
- yapı değişimi