IDBKeyRange: only() statische Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die only() statische Methode der IDBKeyRange Schnittstelle erstellt einen neuen Schlüsselbereich, der einen einzelnen Wert enthält.

Syntax

js
IDBKeyRange.only(value)

Parameter

value

Der Wert für den neuen Schlüsselbereich.

Rückgabewert

IDBKeyRange: Der neu erstellte Schlüsselbereich.

Ausnahmen

DataError DOMException

Wird ausgelöst, wenn der value-Parameter kein gültiger Schlüssel war.

Beispiele

Das folgende Beispiel veranschaulicht, wie Sie einen only-Schlüsselbereich verwenden würden. Hier deklarieren wir einen keyRangeValue = IDBKeyRange.only("A"); — einen Bereich, der nur den Wert "A" umfasst. Wir öffnen eine Transaktion (unter Verwendung von IDBTransaction) und einen Objekt-Store, und öffnen einen Cursor mit IDBObjectStore.openCursor, indem wir keyRangeValue als optionalen Schlüsselbereichswert deklarieren. Das bedeutet, dass der Cursor nur den Datensatz mit dem Schlüsselwert "A" abruft.

Hinweis: Für ein vollständigeres Beispiel, das es Ihnen ermöglicht, mit dem Schlüsselbereich zu experimentieren, schauen Sie sich unser IDBKeyRange Repository an (sehen Sie sich das Beispiel auch live an.)

js
function displayData() {
  const keyRangeValue = IDBKeyRange.only("A");

  const transaction = db.transaction(["fThings"], "readonly");
  const objectStore = transaction.objectStore("fThings");

  objectStore.openCursor(keyRangeValue).onsuccess = (event) => {
    const cursor = event.target.result;
    if (cursor) {
      const listItem = document.createElement("li");
      listItem.textContent = `${cursor.value.fThing}, ${cursor.value.fRating}`;
      list.appendChild(listItem);

      cursor.continue();
    } else {
      console.log("Entries all displayed.");
    }
  };
}

Spezifikationen

Specification
Indexed Database API 3.0
# ref-for-dom-idbkeyrange-only①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch