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 September 2021.

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

  1. die openCursor()-Methode mit demselben Schlüssel aufrufen. Diese Methode liefert einen Cursor, wenn der Datensatz existiert, und keinen Cursor, wenn er nicht existiert.
  2. die count()-Methode mit demselben Schlüssel aufrufen, die 1 zurückgibt, wenn die Reihe existiert, und 0, wenn sie nicht existiert.

Syntax

js
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 als 2^32 - 1 ist, wird eine TypeError-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 zwischen 0 und 2^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