IDBObjectStore: getAll()-Methode
Die getAll()
-Methode der IDBObjectStore
-Schnittstelle gibt ein IDBRequest
-Objekt zurück, das alle Objekte im Objektstore enthält, die dem angegebenen Parameter entsprechen, oder alle Objekte im Store, wenn keine Parameter angegeben werden.
Wenn ein Wert erfolgreich gefunden wird, wird ein strukturierter Klon davon erstellt und als Ergebnis des Anforderungsobjekts festgelegt.
Diese Methode führt zum gleichen Ergebnis für:
- einen Datensatz, der nicht in der Datenbank existiert
- einen Datensatz mit einem undefinierten Wert
Um diese Situationen auseinanderzuhalten, können Sie entweder
- die
openCursor()
-Methode mit demselben Schlüssel aufrufen. Diese Methode liefert einen Cursor, wenn der Datensatz existiert, und keinen Cursor, wenn er nicht existiert. - die
count()
-Methode mit demselben Schlüssel aufrufen, die1
zurückgibt, wenn die Reihe existiert, und0
, wenn sie nicht existiert.
Syntax
getAll()
getAll(query)
getAll(query, count)
Parameter
query
Optional-
Ein Schlüssel oder eine
IDBKeyRange
, der/die abgefragt werden soll. Wenn nichts übergeben wird, wird dies standardmäßig zu einem Schlüsselbereich, der alle Datensätze in diesem Objektstore auswählt. count
Optional-
Gibt an, wie viele Werte zurückgegeben werden sollen, wenn mehr als einer gefunden wird. Wenn es kleiner als
0
oder größer als2^32 - 1
ist, wird eineTypeError
-Ausnahme ausgelöst.
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 gegebenen Abfrage entsprechen, bis zu dem Wert von count
, falls count
angegeben wurde.
Ausnahmen
Diese Methode kann eine DOMException
der folgenden Typen auslösen:
TransactionInactiveError
DOMException
-
Wird ausgelöst, wenn die Transaktion dieses
IDBObjectStore
inaktiv ist. DataError
DOMException
-
Wird ausgelöst, wenn der angegebene Schlüssel oder Schlüsselbereich einen ungültigen Schlüssel enthält oder null ist.
InvalidStateError
DOMException
-
Wird ausgelöst, wenn der
IDBObjectStore
gelöscht oder entfernt wurde. TypeError
-
Wird ausgelöst, wenn der
count
-Parameter nicht zwischen0
und2^32 - 1
inklusive liegt.
Spezifikationen
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbobjectstore-getall① |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase
- Verwendung von Transaktionen:
IDBTransaction
- Ein Schlüsselbereich festlegen:
IDBKeyRange
- Abrufen und Änderungen an Ihren Daten vornehmen:
IDBObjectStore
- Verwendung von Cursors:
IDBCursor
- Referenzbeispiel: To-do-Benachrichtigungen (Beispiel live ansehen).