IDBKeyRange: obereGrenze() 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 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
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.)
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
- Verwendung von IndexedDB
- Starten von Transaktionen:
IDBDatabase
- Verwendung von Transaktionen:
IDBTransaction
- Festlegen eines Schlüsselbereichs:
IDBKeyRange
- Abrufen und Ändern Ihrer Daten:
IDBObjectStore
- Verwendung von Cursors:
IDBCursor
- Referenzbeispiel: To-do Notifications (Beispiel live ansehen).