IDBKeyRange: upperOpen-Eigenschaft

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 schreibgeschützte upperOpen-Eigenschaft des IDBKeyRange-Interfaces gibt einen booleschen Wert zurück, der angibt, ob der obere Grenzwert im Schlüsselbereich enthalten ist.

Wert

Ein boolescher Wert:

Wert Bedeutung
true Der obere Grenzwert ist nicht im Schlüsselbereich enthalten.
false Der obere Grenzwert ist im Schlüsselbereich enthalten.

Beispiele

Das folgende Beispiel zeigt, wie Sie einen Schlüsselbereich verwenden würden. Hier deklarieren wir keyRangeValue = IDBKeyRange.upperBound("F", "W", true, true); — einen Bereich, der alles zwischen "F" und "W" umfasst, aber diese nicht einschließt — da sowohl die oberen als auch die unteren Grenzen als offen (true) deklariert wurden. Wir öffnen eine Transaktion (mithilfe von IDBTransaction) und einen Objektstore und öffnen einen Cursor mit IDBObjectStore.openCursor, wobei wir keyRangeValue als optionalen Schlüsselbereichswert deklarieren.

Nachdem der Schlüsselbereich deklariert wurde, loggen wir den Wert seiner upperOpen-Eigenschaft in die Konsole, der als "true" erscheinen sollte: Die obere Grenze ist offen und wird daher nicht im Bereich enthalten sein.

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

js
function displayData() {
  const keyRangeValue = IDBKeyRange.bound("F", "W", true, true);
  console.log(keyRangeValue.upperOpen);

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch