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 Juli 2015.
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
IDBKeyRange.lowerBound(lower)
IDBKeyRange.lowerBound(lower, open)
Parameter
lower-
Gibt die untere Grenze des neuen Schlüsselsbereichs an.
openOptional-
Gibt an, ob die untere Grenze den Endpunkt-Wert ausschließt. Der Standardwert ist false.
Rückgabewert
IDBKeyRange: Der neu erstellte Schlüsselsbereich.
Ausnahmen
DataErrorDOMException-
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.)
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
Loading…
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegen eines Schlüsselspektrums:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwendung von Cursors:
IDBCursor - Referenzbeispiel: To-do Benachrichtigungen (Beispiel live ansehen).