IDBObjectStore: 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 des IDBObjectStore-Interfaces gibt ein IDBRequest-Objekt zurück, das alle Objekte im Objekt-Store enthält, die dem angegebenen Parameter entsprechen, oder alle Objekte im Store, wenn keine Parameter angegeben sind.
Wenn ein Wert erfolgreich gefunden wird, wird eine strukturierte Kopie davon erstellt und als Ergebnis des Anforderungsobjekts festgelegt.
Diese Methode erzeugt dasselbe Ergebnis für:
- einen Datensatz, der nicht in der Datenbank existiert
- einen Datensatz, der einen undefinierten Wert hat
Um diese Situationen zu unterscheiden, rufen Sie entweder
- die
openCursor()-Methode mit demselben Schlüssel auf. Diese Methode bietet einen Cursor, wenn der Datensatz existiert, und keinen Cursor, wenn er nicht existiert. - die
count()-Methode mit demselben Schlüssel auf, die1zurückgibt, wenn die Zeile existiert und0, wenn sie nicht existiert.
Syntax
getAll()
getAll(query)
getAll(query, count)
getAll(options)
Parameter
Die getAll()-Methode kann separate Parameter oder ein einzelnes Options-Objekt, das die Parameter als Eigenschaften enthält, annehmen.
Die Parameter können umfassen:
queryOptional-
Ein Schlüssel oder
IDBKeyRange, der abgefragt werden soll. Wenn dieser Wert nicht angegeben ist, wird standardmäßig ein Schlüsselbereich verwendet, der alle Datensätze in diesem Objekt-Store auswählt. countOptional-
Gibt die Anzahl der zurückzugebenden Werte an, wenn mehr als eins gefunden wird. Wenn er kleiner als
0oder größer als2^32 - 1ist, wird eineTypeError-Ausnahme ausgelöst.
Wenn ein Objektparameter angegeben ist, können seine Eigenschaften umfassen:
queryOptional-
Siehe die frühere Definition von
query. countOptional-
Siehe die frühere Definition von
count. directionOptional-
Ein aufgezählter 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. Dies liefert die gleichen Objekte wie
next, da doppelte Schlüssel inIDBObjectStores nicht erlaubt sind. prev-
Die Objekte werden vom Ende an in absteigender Schlüsselreihenfolge durchlaufen.
prevunique-
Die Objekte werden vom Ende an in absteigender Schlüsselreihenfolge durchlaufen. Dies liefert die gleichen Objekte wie
prev, da doppelte Schlüssel inIDBObjectStores nicht erlaubt sind.
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 Anfrage entsprechen, bis zum Wert von count, falls count angegeben wurde.
Ausnahmen
Diese Methode kann eine DOMException eines der folgenden Typen auslösen:
TransactionInactiveErrorDOMException-
Wird ausgelöst, wenn die Transaktion dieses
IDBObjectStoreinaktiv ist. DataErrorDOMException-
Wird ausgelöst, wenn der bereitgestellte Schlüssel oder Schlüsselbereich einen ungültigen Schlüssel enthält oder null ist.
InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
IDBObjectStoregelöscht oder entfernt wurde. TypeErrorDOMException-
Wird ausgelöst, wenn der
count-Parameter nicht zwischen0und2^32 - 1, einschließlich liegt.
Spezifikationen
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-getall①> |
Browser-Kompatibilität
Loading…
Siehe auch
- Verwendung von IndexedDB
- Starten von Transaktionen:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegen eines Schlüsselbereichs:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwendung von Cursors:
IDBCursor - Referenzbeispiel: To-do Notifications (Beispiel live ansehen).