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

View in English Always switch to English

IDBIndex: Methode getAll()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Die Methode getAll() der Schnittstelle IDBIndex ruft alle Objekte ab, die sich im Index befinden.

Der Zugriff auf die Eigenschaft value eines Cursors ist mit einem Leistungsaufwand verbunden, da das Objekt erst bei Bedarf erstellt wird. Um eine Funktion wie getAll() zu verwenden, muss der Browser alle Objekte auf einmal erstellen. Wenn Sie beispielsweise nur die einzelnen Schlüssel betrachten möchten, ist die Verwendung eines Cursors effizienter. Wenn Sie hingegen ein Array aller Objekte in einem Object Store abrufen möchten, sollten Sie getAll() verwenden.

Syntax

js
getAll()
getAll(query)
getAll(query, count)
getAll(options)

Parameter

Die Methode getAll() kann separate Parameter oder ein einzelnes Optionsobjekt entgegennehmen, das die Parameter als Eigenschaften enthält.

Die Parameter können Folgendes umfassen:

query Optional

Ein Schlüssel oder ein IDBKeyRange, der die abzurufenden Datensätze bestimmt. Wenn dieser Wert null ist oder nicht angegeben wird, verwendet der Browser einen unbegrenzten Schlüsselbereich.

count Optional

Die Anzahl der zurückzugebenden Datensätze. Wenn dieser Wert die Anzahl der Datensätze in der Abfrage übersteigt, ruft der Browser nur die abgefragten Datensätze ab. Wenn er kleiner als 0 oder größer als 2^32 - 1 ist, wird eine TypeError-Ausnahme ausgelöst.

Wenn ein Objektparameter angegeben wird, kann er folgende Eigenschaften enthalten:

query Optional

Siehe die obige Definition von query.

count Optional

Siehe die obige Definition von count.

direction Optional

Ein Aufzählungswert, der die Richtung angibt, in der die Objekte durchlaufen werden. Mögliche Werte sind:

next

Die Objekte werden vom Anfang aus in aufsteigender Schlüsselreihenfolge durchlaufen. Dies ist der Standardwert.

nextunique

Die Objekte werden vom Anfang aus in aufsteigender Schlüsselreihenfolge durchlaufen. Für jeden Schlüssel mit mehreren Objekten wird nur das Objekt geliefert, das dem Anfang am nächsten liegt.

prev

Die Objekte werden vom Ende aus in absteigender Schlüsselreihenfolge durchlaufen.

prevunique

Die Objekte werden vom Ende aus in absteigender Schlüsselreihenfolge durchlaufen. Für jeden Schlüssel mit mehreren Objekten wird nur das Objekt geliefert, das dem Anfang am nächsten liegt.

Rückgabewert

Ein IDBRequest-Objekt, auf dem nachfolgende Ereignisse im Zusammenhang mit diesem Vorgang ausgelöst werden.

Wenn der Vorgang erfolgreich ist, enthält die Eigenschaft result der Anfrage ein Array mit den Werten aller Datensätze, die der angegebenen Abfrage entsprechen, gegebenenfalls begrenzt durch count.

Ausnahmen

Diese Methode kann eine DOMException der folgenden Typen auslösen:

TransactionInactiveError DOMException

Wird ausgelöst, wenn die Transaktion dieses IDBIndex inaktiv ist.

InvalidStateError DOMException

Wird ausgelöst, wenn der IDBIndex gelöscht oder entfernt wurde.

TypeError

Wird ausgelöst, wenn der Parameter count nicht zwischen 0 und 2^32 - 1 einschließlich liegt.

Beispiele

js
const myIndex = objectStore.index("index");
const getAllRequest = myIndex.getAll();
getAllRequest.onsuccess = () => {
  console.log(getAllRequest.result);
};

Spezifikationen

Spezifikation
Indexed Database API 3.0
# ref-for-dom-idbindex-getall①

Browser-Kompatibilität

Siehe auch