IDBKeyRange: upperOpen-Eigenschaft
Baseline
Weitgehend verfügbar
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.
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.)
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
| Spezifikation |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbkeyrange-upperopen①> |
Browser-Kompatibilität
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegung eines Schlüsselbereichs:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwendung von Cursorn:
IDBCursor - Referenzbeispiel: To-do Benachrichtigungen (Das Beispiel live ansehen).