IDBCursor: direction-Eigenschaft
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 direction schreibgeschützte Eigenschaft des IDBCursor Interfaces ist ein String, der die Richtung der Durchquerung des Cursors zurückgibt (zum Beispiel gesetzt mittels IDBObjectStore.openCursor). Siehe den Wert-Abschnitt unten für mögliche Werte.
Wert
Ein String, der angibt, in welche Richtung der Cursor die Daten durchläuft. Mögliche Werte sind:
next-
Der Cursor wird am Anfang der Quelle geöffnet.
nextunique-
Der Cursor wird am Anfang der Quelle geöffnet. Für jeden Schlüssel mit doppelten Werten wird nur der Datensatz, der dem Anfang am nächsten ist, ausgewählt.
prev-
Der Cursor wird am Ende der Quelle geöffnet.
prevunique-
Der Cursor wird am Ende der Quelle geöffnet. Für jeden Schlüssel mit doppelten Werten wird nur der Datensatz, der dem Anfang am nächsten ist, ausgewählt.
Beispiele
In diesem einfachen Fragment erstellen wir eine Transaktion, rufen einen Objektspeicher ab und verwenden dann einen Cursor, um alle Datensätze im Objektspeicher zu durchlaufen. In jeder Iteration loggen wir die Richtung des Cursors.
Hinweis:
Wir können die Reiserichtung des Cursors nicht mit der direction-Eigenschaft ändern, da sie schreibgeschützt ist. Wir geben die Reiserichtung mittels des zweiten Arguments von IDBObjectStore.openCursor an.
Der Cursor erfordert nicht, dass wir die Daten basierend auf einem Schlüssel auswählen; wir können einfach alle abrufen. Beachten Sie auch, dass Sie in jeder Iteration der Schleife Daten aus dem aktuellen Datensatz unter dem Cursor-Objekt mit cursor.value.foo erhalten können. Für ein vollständiges funktionierendes Beispiel siehe unser IDBCursor-Beispiel (Das Beispiel live ansehen).
function backwards() {
list.textContent = "";
const transaction = db.transaction(["rushAlbumList"], "readonly");
const objectStore = transaction.objectStore("rushAlbumList");
objectStore.openCursor(null, "prev").onsuccess = (event) => {
const cursor = event.target.result;
if (cursor) {
const listItem = document.createElement("li");
listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`;
list.appendChild(listItem);
console.log(cursor.direction);
cursor.continue();
} else {
console.log("Entries displayed backwards.");
}
};
}
Spezifikationen
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbcursor-direction①> |
Browser-Kompatibilität
Loading…
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegung eines Schlüsselsortiments:
IDBKeyRange - Abruf und Änderung Ihrer Daten:
IDBObjectStore - Verwendung von Cursors:
IDBCursor - Referenzbeispiel: To-do Benachrichtigungen (Das Beispiel live ansehen).