Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

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

Siehe auch