IDBIndex: getAll() Methode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.
Die getAll()-Methode der IDBIndex-Schnittstelle ruft alle Objekte ab, die sich im Index befinden.
Es gibt einen Leistungseinbruch beim Betrachten der value-Eigenschaft eines Cursors, weil das Objekt verzögert erstellt wird. Um ein Feature wie getAll() zu verwenden, muss der Browser alle Objekte auf einmal erstellen. Wenn Sie z.B. nur daran interessiert sind, die einzelnen Schlüssel anzuschauen, ist es effizienter, einen Cursor zu verwenden. Wenn Sie jedoch versuchen, ein Array aller Objekte in einem Objektstore zu erhalten, sollten Sie getAll() verwenden.
Syntax
getAll()
getAll(query)
getAll(query, count)
getAll(options)
Parameter
Die getAll()-Methode kann einzelne Parameter oder ein einzelnes Optionsobjekt, das die Parameter als Eigenschaften enthält, übernehmen.
Die Parameter können beinhalten:
queryOptional-
Ein Schlüssel oder ein
IDBKeyRange, der die abzurufenden Datensätze identifiziert. Wenn dieser Wertnullist oder nicht angegeben wird, verwendet der Browser einen ungebundenen Schlüsselbereich. countOptional-
Die Anzahl der Datensätze, die zurückgegeben werden sollen. Wenn dieser Wert die Anzahl der Datensätze in der Abfrage überschreitet, ruft der Browser nur die abgefragten Datensätze ab. Wenn er niedriger als
0oder größer als2^32 - 1ist, wird eineTypeError-Ausnahme ausgelöst.
Wenn ein Objektparameter angegeben ist, können dessen Eigenschaften umfassen:
queryOptional-
Siehe die frühere Definition von
query. countOptional-
Siehe die frühere Definition von
count. directionOptional-
Ein enumerierter Wert, der die Richtung angibt, in der die Objekte durchlaufen werden. Mögliche Werte sind:
next-
Die Objekte werden von Anfang an in aufsteigender Schlüsselreihenfolge durchlaufen. Dies ist der Standardwert.
nextunique-
Die Objekte werden von Anfang an in aufsteigender Schlüsselreihenfolge durchlaufen. Für jeden Schlüssel mit doppelten Objekten wird nur das Objekt, das dem Anfang am nächsten liegt, geliefert.
prev-
Die Objekte werden vom Ende an in absteigender Schlüsselreihenfolge durchlaufen.
prevunique-
Die Objekte werden vom Ende an in absteigender Schlüsselreihenfolge durchlaufen. Für jeden Schlüssel mit doppelten Objekten wird nur das Objekt, das dem Anfang am nächsten liegt, geliefert.
Rückgabewert
Ein IDBRequest-Objekt, auf dem nachfolgende Ereignisse im Zusammenhang mit dieser Operation ausgelöst werden.
Wenn die Operation erfolgreich ist, ist der Wert der result-Eigenschaft der Anfrage ein Array der Werte aller Datensätze, die der angegebenen Abfrage entsprechen, bis zum Wert von count, falls count angegeben wurde.
Ausnahmen
Diese Methode kann eine DOMException der folgenden Typen auslösen:
TransactionInactiveErrorDOMException-
Wird ausgelöst, wenn die Transaktion dieses
IDBIndexinaktiv ist. InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
IDBIndexgelöscht oder entfernt wurde. TypeErrorDOMException-
Wird ausgelöst, wenn der
count-Parameter nicht zwischen0und2^32 - 1(einschließlich) liegt.
Beispiele
const myIndex = objectStore.index("index");
const getAllRequest = myIndex.getAll();
getAllRequest.onsuccess = () => {
console.log(getAllRequest.result);
};
Spezifikationen
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbindex-getall①> |
Browser-Kompatibilität
Loading…
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegen eines Bereichs von Schlüsseln:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwendung von Cursors:
IDBCursor - Referenzbeispiel: To-do Notifications (Beispiel live ansehen).