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 September 2021.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die schreibgeschützte Eigenschaft direction des IDBCursor-Interfaces ist ein String, der die Richtung der Traversierung des Cursors zurückgibt (zum Beispiel festgelegt durch IDBObjectStore.openCursor). Siehe den Abschnitt Werte unten für mögliche Werte.

Wert

Ein String, der die Richtung angibt, in der der Cursor die Daten durchläuft. Mögliche Werte sind:

next

Diese Richtung bewirkt, dass der Cursor am Anfang der Quelle geöffnet wird.

nextunique

Diese Richtung bewirkt, dass der Cursor am Anfang der Quelle geöffnet wird. Bei jedem Schlüssel mit doppelten Werten wird nur der zuerst erfasste Datensatz (der dem Anfang am nächsten ist) ausgegeben.

prev

Diese Richtung bewirkt, dass der Cursor am Ende der Quelle geöffnet wird.

prevunique

Diese Richtung bewirkt, dass der Cursor am Ende der Quelle geöffnet wird. Bei jedem Schlüssel mit doppelten Werten wird nur der zuerst erfasste Datensatz (der dem Ende am nächsten ist) ausgegeben.

Beispiele

In diesem einfachen Fragment erstellen wir eine Transaktion, rufen einen Objekt-Store ab und verwenden dann einen Cursor, um alle Datensätze im Objekt-Store zu durchlaufen. In jeder Iteration protokollieren 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 mit dem zweiten Argument von IDBObjectStore.openCursor an.

Der Cursor erfordert nicht, dass wir die Daten basierend auf einem Schlüssel auswählen; wir können sie einfach alle erfassen. Beachten Sie auch, dass Sie in jeder Iteration der Schleife Daten aus dem aktuellen Datensatz unter dem Cursor-Objekt mit cursor.value.foo erfassen können. Für ein vollständiges Arbeitsbeispiel siehe unser IDBCursor Beispiel (Beispiel live ansehen).

js
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

BCD tables only load in the browser

Siehe auch