Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das IDBKeyRange-Interface der IndexedDB API repräsentiert ein kontinuierliches Intervall über einen Datentyp, der für Schlüssel verwendet wird. Datensätze können aus IDBObjectStore und IDBIndex-Objekten unter Verwendung von Schlüsseln oder einem Schlüsselbereich abgerufen werden. Sie können den Bereich mithilfe von unteren und oberen Grenzen einschränken. Zum Beispiel können Sie über alle Werte eines Schlüssels im Wertebereich von A bis Z iterieren.
Ein Schlüsselbereich kann einen einzelnen Wert oder einen Bereich mit oberen und unteren Grenzen oder Endpunkten darstellen. Wenn der Schlüsselbereich sowohl obere als auch untere Grenzen hat, ist er begrenzt; wenn er keine Grenzen hat, ist er unbegrenzt. Ein begrenzter Schlüsselbereich kann entweder offen (die Endpunkte sind ausgeschlossen) oder geschlossen (die Endpunkte sind eingeschlossen) sein. Um alle Schlüssel innerhalb eines bestimmten Bereichs abzurufen, können Sie die folgenden Codekonstruktionen verwenden:
| Alle Schlüssel ≥ x | IDBKeyRange.lowerBound(x) |
| Alle Schlüssel > x | IDBKeyRange.lowerBound(x, true) |
| Alle Schlüssel ≤ y | IDBKeyRange.upperBound(y) |
| Alle Schlüssel < y | IDBKeyRange.upperBound(y, true) |
| Alle Schlüssel ≥ x && ≤ y | IDBKeyRange.bound(x, y) |
| Alle Schlüssel > x && < y | IDBKeyRange.bound(x, y, true, true) |
| Alle Schlüssel > x && ≤ y | IDBKeyRange.bound(x, y, true, false) |
| Alle Schlüssel ≥ x && < y | IDBKeyRange.bound(x, y, false, true) |
| Der Schlüssel = z | IDBKeyRange.only(z) |
Ein Schlüssel befindet sich in einem Schlüsselbereich, wenn die folgenden Bedingungen zutreffen:
Der untere Wert des Schlüsselbereichs ist einer der folgenden:
Der obere Wert des Schlüsselbereichs ist einer der folgenden:
Untere Grenze des Schlüsselbereichs.
IDBKeyRange.upper SchreibgeschütztObere Grenze des Schlüsselbereichs.
IDBKeyRange.lowerOpen SchreibgeschütztGibt false zurück, wenn der niedrige Grenzwert im Schlüsselbereich enthalten ist.
IDBKeyRange.upperOpen SchreibgeschütztGibt false zurück, wenn der obere Grenzwert im Schlüsselbereich enthalten ist.
Erstellt einen neuen Schlüsselbereich mit oberen und unteren Grenzen.
IDBKeyRange.only()Erstellt einen neuen Schlüsselbereich, der einen einzelnen Wert enthält.
IDBKeyRange.lowerBound()Erstellt einen neuen Schlüsselbereich mit nur einer unteren Grenze.
IDBKeyRange.upperBound()Erstellt einen neuen Schlüsselbereich mit nur einer oberen Grenze.
Gibt einen booleschen Wert zurück, der angibt, ob ein angegebener Schlüssel innerhalb des Schlüsselbereichs liegt.
Das folgende Beispiel veranschaulicht, wie Sie einen Schlüsselbereich verwenden würden. Hier deklarieren wir einen keyRangeValue als Bereich zwischen den Werten "A" und "F". Wir öffnen eine Transaktion (mithilfe von IDBTransaction) und einen Objekt-Store und öffnen einen Cursor mit IDBObjectStore.openCursor, wobei wir keyRangeValue als seinen optionalen Schlüsselbereichswert deklarieren. Das bedeutet, dass der Cursor nur Datensätze mit Schlüsseln innerhalb dieses Bereichs abruft. Dieser Bereich schließt die Werte "A" und "F" ein, da wir nicht angegeben haben, dass sie offene Grenzen sein sollen. Wenn wir IDBKeyRange.bound("A", "F", true, true); verwenden würden, dann würde der Bereich "A" und "F" nicht einschließen, nur die dazwischenliegenden Werte.
Hinweis: Für ein vollständigeres Beispiel, mit dem Sie mit dem Schlüsselbereich experimentieren können, werfen Sie einen Blick auf unser IDBKeyRange-Beispiel-Repo (sehen Sie sich das Beispiel auch live an.)
| Indexed Database API 3.0 # keyrange |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.