IDBKeyRange: lowerBound() 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 lowerBound() statische Methode der IDBKeyRange-Schnittstelle erstellt einen neuen Schlüsselsbereich mit nur einer unteren Grenze. Standardmäßig schließt es den unteren Endpunkt-Wert ein und ist geschlossen.

Syntax

js
IDBKeyRange.lowerBound(lower)
IDBKeyRange.lowerBound(lower, open)

Parameter

lower

Gibt die untere Grenze des neuen Schlüsselsbereichs an.

open Optional

Gibt an, ob die untere Grenze den Endpunkt-Wert ausschließt. Der Standardwert ist false.

Rückgabewert

IDBKeyRange: Der neu erstellte Schlüsselsbereich.

Ausnahmen

DataError DOMException

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

Beispiele

Das folgende Beispiel veranschaulicht, wie man einen Schlüsselsbereich mit unterer Grenze verwendet. Hier deklarieren wir keyRangeValue = IDBKeyRange.lowerBound("F", false); — ein Bereich, der den Wert "F" und alles danach einschließt. Wir öffnen eine Transaktion (mit IDBTransaction) und ein Objekt-Store und öffnen einen Cursor mit IDBObjectStore.openCursor, wobei keyRangeValue als optionaler Schlüsselsbereichswert deklariert wird. Das bedeutet, dass der Cursor nur den Datensatz mit dem Schlüsselwert "F" und alle danach kommende abrufen wird. Wenn wir IDBKeyRange.lowerBound("F", true); verwendet hätten, dann würde der Bereich "F" nicht einschließen; nur die Werte danach.

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

js
function displayData() {
  const keyRangeValue = IDBKeyRange.lowerBound("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-lowerbound①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch