IDBIndex: getAllRecords() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die getAllRecords()
-Methode der IDBIndex
-Schnittstelle ruft alle Datensätze (einschließlich Indexschlüssel, Primärschlüssel und Werte) aus dem Index ab.
getAllRecords()
kombiniert effektiv die Funktionalität von getAllKeys()
und getAll()
, indem es sowohl Primärschlüssel als auch Werte gleichzeitig auflistet. Dieser kombinierte Vorgang ermöglicht es, bestimmte Datenabrufmuster erheblich schneller als Alternativen wie Iteration mit Cursoren zu gestalten.
Syntax
getAllRecords()
getAllRecords(options)
Parameter
Ein Optionsobjekt, dessen Eigenschaften folgendes enthalten können:
query
Optional-
Ein Schlüssel oder ein
IDBKeyRange
, der die abzurufenden Datensätze identifiziert. Wenn dieser Wertnull
ist oder nicht angegeben wird, verwendet der Browser einen ungebundenen Schlüsselbereich. count
Optional-
Die Anzahl der zurückzugebenden Datensätze. Wenn dieser Wert die Anzahl der Datensätze in der Abfrage überschreitet, ruft der Browser nur die abgefragten Datensätze ab. Wenn der Wert weniger als
0
oder größer als2^32 - 1
ist, wird eineTypeError
-Ausnahme ausgelöst. direction
Optional-
Ein enumerierter Wert, der die Richtung angibt, in der die Datensätze durchsucht werden. Mögliche Werte sind:
next
-
Die Datensätze werden vom Anfang aus in aufsteigender Schlüsselreihenfolge durchlaufen. Dies ist der Standardwert.
nextunique
-
Die Datensätze werden vom Anfang aus in aufsteigender Schlüsselreihenfolge durchlaufen. Bei jedem Schlüssel mit doppelten Datensätzen wird nur der dem Anfang am nächsten gelegene Datensatz geliefert.
prev
-
Die Datensätze werden vom Ende aus in absteigender Schlüsselreihenfolge durchlaufen.
prevunique
-
Die Datensätze werden vom Ende aus in absteigender Schlüsselreihenfolge durchlaufen. Bei jedem Schlüssel mit doppelten Datensätzen wird nur der dem Anfang am nächsten gelegene Datensatz geliefert.
Rückgabewert
Ein IDBRequest
-Objekt, an 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
von Objekten, die alle Datensätze darstellen, die der angegebenen Abfrage entsprechen, bis zu der durch count
(falls angegeben) festgelegten Anzahl.
Jedes Objekt enthält die folgenden Eigenschaften:
key
-
Ein Wert, der den Schlüssel des Datensatzes darstellt.
primaryKey
-
Ein Wert, der den Schlüssel des Datensatzes im zugehörigen
IDBObjectStore
des Index darstellt. value
-
Ein Wert, der den Wert des Datensatzes darstellt.
Ausnahmen
Diese Methode kann eine DOMException
der folgenden Typen auslösen:
InvalidStateError
DOMException
-
Wird ausgelöst, wenn das
IDBIndex
oder sein zugehörigesIDBObjectStore
gelöscht oder entfernt wurde. TransactionInactiveError
DOMException
-
Wird ausgelöst, wenn die Transaktion dieses
IDBIndex
inaktiv ist. TypeError
DOMException
-
Wird ausgelöst, wenn der
count
-Parameter nicht zwischen0
und2^32 - 1
liegt, einschließlich.
Beispiele
const query = IDBKeyRange.lowerBound("mykey", true);
const objectStore = transaction.objectStore("contactsList");
const myIndex = objectStore.index("lastName");
const myRecords = (myIndex.getAllRecords({
query,
count: "100",
direction: "prev",
}).onsuccess = (event) => {
console.log("Records successfully retrieved");
});
Spezifikationen
Specification |
---|
Indexed Database API 3.0> # ref-for-dom-idbindex-getallrecords①> |
Browser-Kompatibilität
Loading…
Siehe auch
IDBIndex.getAll()
,IDBIndex.getAllKeys()
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase
- Verwendung von Transaktionen:
IDBTransaction
- Festlegen eines Schlüsselbereichs:
IDBKeyRange
- Abrufen und Ändern Ihrer Daten:
IDBObjectStore
- Verwendung von Cursoren:
IDBCursor
- Schnellere IndexedDB-Lesevorgänge mit getAllRecords-Beispiel von Microsoft, 2025