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.)
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
- 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).