IDBObjectStore: Methode getAllKeys()

Die getAllKeys()-Methode des IDBObjectStore-Interfaces 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 ein strukturierter Klon davon erstellt und als Ergebnis des Anfrageobjekts 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, müssen Sie die openCursor()-Methode mit dem gleichen Schlüssel aufrufen. Diese Methode stellt einen Cursor bereit, wenn der Datensatz existiert, und keinen Cursor, wenn er nicht existiert.

Syntax

js
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)

Parameter

query Optional

Ein Wert, der eine IDBKeyRange ist oder zu einer solchen aufgelöst wird.

count Optional

Gibt an, wie viele Werte zurückgegeben werden sollen, wenn mehr als einer gefunden wird. Sollte er kleiner als 0 oder größer als 2^32 - 1 sein, wird eine TypeError-Ausnahme ausgelöst.

Rückgabewert

Ein IDBRequest-Objekt, an 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 angegebenen Anfrage entsprechen, bis zum Wert von count, falls count angegeben wurde.

Ausnahmen

Diese Methode kann eine DOMException eines der folgenden Typen auslösen:

TransactionInactiveError DOMException

Wird ausgelöst, wenn die Transaktion dieses IDBObjectStore inaktiv ist.

DataError DOMException

Wird ausgelöst, wenn der bereitgestellte Schlüssel oder der bereitgestellte Schlüsselbereich einen ungültigen Schlüssel enthält oder null ist.

InvalidStateError DOMException

Wird ausgelöst, wenn das IDBObjectStore gelöscht oder entfernt wurde.

Spezifikationen

Specification
Indexed Database API 3.0
# ref-for-dom-idbobjectstore-getallkeys①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch