IDBIndex: Methode getAllKeys()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Die Methode getAllKeys() der Schnittstelle IDBIndex ruft asynchron die Primärschlüssel aller Objekte im Index ab und legt sie als result des Anfrageobjekts fest.
Syntax
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)
getAllKeys(options)
Parameter
Die Methode getAllKeys() kann entweder einzelne Parameter oder ein Optionsobjekt entgegennehmen, das die Parameter als Eigenschaften enthält.
Die Parameter können Folgendes umfassen:
queryOptional-
Ein Schlüssel oder ein
IDBKeyRange, der die abzurufenden Schlüssel bestimmt. Ist dieser Wertnulloder nicht angegeben, verwendet der Browser einen unbegrenzten Schlüsselbereich. countOptional-
Die Anzahl der zurückzugebenden Datensätze. Übersteigt dieser Wert die Anzahl der Datensätze, die der Abfrage entsprechen, ruft der Browser nur das erste Element ab. Ist der Wert kleiner als
0oder größer als2^32 - 1, wird eineTypeError-Ausnahme ausgelöst.
Wird ein Objekt als Parameter angegeben, kann es folgende Eigenschaften enthalten:
queryOptional-
Siehe die obige Definition von
query. countOptional-
Siehe die obige Definition von
count. directionOptional-
Ein Aufzählungswert, der die Richtung angibt, in der die Objekte durchlaufen werden. Mögliche Werte sind:
next-
Die Objekte werden vom Anfang an in aufsteigender Schlüsselreihenfolge durchlaufen. Dies ist der Standardwert.
nextunique-
Die Objekte werden vom Anfang an in aufsteigender Schlüsselreihenfolge durchlaufen. Schlüssel, die bei mehreren Objekten vorkommen, werden nur einmal zurückgegeben.
prev-
Die Objekte werden vom Ende an in absteigender Schlüsselreihenfolge durchlaufen.
prevunique-
Die Objekte werden vom Ende an in absteigender Schlüsselreihenfolge durchlaufen. Schlüssel, die bei mehreren Objekten vorkommen, werden nur einmal zurückgegeben.
Rückgabewert
Ein IDBRequest-Objekt, bei dem nachfolgende Ereignisse im Zusammenhang mit diesem Vorgang ausgelöst werden.
Wenn der Vorgang erfolgreich ist, enthält die Eigenschaft result der Anfrage ein Array mit den Schlüsseln aller Datensätze, die der angegebenen Abfrage entsprechen, gegebenenfalls begrenzt durch count.
Ausnahmen
Diese Methode kann eine DOMException der folgenden Typen auslösen:
TransactionInactiveErrorDOMException-
Wird ausgelöst, wenn die Transaktion dieses
IDBIndexinaktiv ist. InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
IDBIndexgelöscht oder entfernt wurde. TypeError-
Wird ausgelöst, wenn der Parameter
countnicht im Bereich von0bis einschließlich2^32 - 1liegt.
Beispiele
const myIndex = objectStore.index("index");
const getAllKeysRequest = myIndex.getAllKeys();
getAllKeysRequest.onsuccess = () => {
console.log(getAllKeysRequest.result);
};
Spezifikationen
| Spezifikation |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbindex-getallkeys①> |
Browser-Kompatibilität
Siehe auch
- IndexedDB verwenden
- Transaktionen starten:
IDBDatabase - Transaktionen verwenden:
IDBTransaction - Einen Schlüsselbereich festlegen:
IDBKeyRange - Daten abrufen und ändern:
IDBObjectStore - Cursor verwenden:
IDBCursor - Referenzbeispiel: To-do Notifications (Beispiel live ansehen).