IDBObjectStore: getAllKeys() 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 getAllKeys()-Methode der IDBObjectStore-Schnittstelle gibt ein IDBRequest-Objekt zurück, das Datensatzschlüssel für alle Objekte im Objektspeicher abruft, die dem angegebenen Parameter entsprechen, oder für alle Objekte im Speicher, 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 führt zu demselben Ergebnis bei:
- einem Datensatz, der nicht in der Datenbank existiert
- einem Datensatz, der einen undefinierten Wert hat
Um diese Situationen zu unterscheiden, müssen Sie die openCursor()-Methode mit demselben Schlüssel aufrufen. Diese Methode liefert einen Cursor, wenn der Datensatz existiert, und keinen Cursor, wenn er nicht existiert.
Syntax
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)
getAllKeys(options)
Parameter
Die getAllKeys()-Methode kann separate Parameter oder ein einzelnes Optionsobjekt entgegennehmen, das die Parameter als Eigenschaften enthält.
Die Parameter können umfassen:
queryOptional-
Ein Wert, der einem
IDBKeyRangeentspricht oder darauf aufgelöst wird. Wenn dieser Wert nicht spezifiziert ist, wird standardmäßig ein Schlüsselbereich verwendet, der alle Datensätze in diesem Objektspeicher auswählt. countOptional-
Gibt die Anzahl der Werte an, die zurückgegeben werden sollen, wenn mehr als einer gefunden wird. Wenn dies 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 vom Anfang in aufsteigender Schlüsselreihenfolge durchlaufen. Dies ist der Standardwert.
nextunique-
Die Objekte werden vom Anfang in aufsteigender Schlüsselreihenfolge durchlaufen. Dies liefert dieselben Schlüssel wie
next, da doppelte Schlüssel inIDBObjectStores nicht erlaubt sind. prev-
Die Objekte werden vom Ende in absteigender Schlüsselreihenfolge durchlaufen.
prevunique-
Die Objekte werden vom Ende in absteigender Schlüsselreihenfolge durchlaufen. Dies liefert dieselben Schlüssel wie
prev, da doppelte Schlüssel inIDBObjectStores nicht erlaubt sind.
Rückgabewert
Ein IDBRequest-Objekt, auf dem nachfolgende Ereignisse im Zusammenhang mit diesem Vorgang ausgelöst werden.
Wenn der Vorgang erfolgreich ist, ist der Wert der result-Eigenschaft der Anfrage ein Array der Schlüssel für alle Datensätze, die der gegebenen 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
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 das
IDBObjectStoregelöscht oder entfernt wurde. TypeErrorDOMException-
Wird ausgelöst, wenn der
count-Parameter nicht zwischen0und2^32 - 1liegt, inklusive.
Spezifikationen
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-getallkeys①> |
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-Benachrichtigungen (Das Beispiel live ansehen).