IDBKeyRange: obereGrenze() statische Methode

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die upperBound() statische Methode der IDBKeyRange-Schnittstelle erstellt einen neuen Schlüsselbereich mit oberer Grenze. Standardmäßig enthält er den oberen Endpunktwert und ist geschlossen.

Syntax

js
IDBKeyRange.upperBound(upper)
IDBKeyRange.upperBound(upper, open)

Parameter

upper

Gibt die obere Grenze des neuen Schlüsselbereichs an.

open Optional

Gibt an, ob die obere Grenze den Endpunktwert ausschließt. Standardmäßig ist dies false.

Rückgabewert

IDBKeyRange: Der neu erstellte Schlüsselbereich.

Ausnahmen

DataError DOMException

Wird ausgelöst, wenn der Schlüssel, der dem upper Parameter zugeordnet ist, kein gültiger Schlüssel ist.

Beispiele

Das folgende Beispiel zeigt, wie Sie einen Schlüsselbereich mit einer oberen Grenze verwenden würden. Hier deklarieren wir keyRangeValue = IDBKeyRange.upperBound("F"); — einen Bereich, der den Wert "F" und alles davor einschließt. Wir eröffnen eine Transaktion (unter Verwendung von IDBTransaction) und einen Objektspeicher und öffnen einen Cursor mit IDBObjectStore.openCursor, indem wir keyRangeValue als seinen optionalen Schlüsselbereichswert deklarieren.

Wenn wir IDBKeyRange.upperBound("F", true); verwenden würden, dann würde der Bereich "F" ausschließen und stattdessen nur die Werte davor einschließen.

Hinweis: Für ein vollständigeres Beispiel, das Ihnen erlaubt, mit dem Schlüsselbereich zu experimentieren, werfen Sie einen Blick auf unser IDBKeyRange-Beispiel-Repo (Beispiel auch live ansehen.)

js
function displayData() {
  const keyRangeValue = IDBKeyRange.upperBound("F");

  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-upperbound①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch