IDBIndex: getAllRecords() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die getAllRecords() Methode des IDBIndex
Interfaces ruft alle Datensätze (einschließlich Indexschlüsseln, Primärschlüsseln und Werten) aus dem Index ab.
getAllRecords() kombiniert effektiv die Funktionalitäten von getAllKeys() und getAll() durch die gleichzeitige Auflistung sowohl von Primärschlüsseln als auch Werten. Diese kombinierte Operation ermöglicht bestimmte Datenabfragemuster, die erheblich schneller sind als Alternativen wie die Iteration mit Cursoren.
Syntax
getAllRecords()
getAllRecords(options)
Parameter
Ein Optionsobjekt, dessen Eigenschaften umfassen können:
queryOptional-
Ein Schlüssel oder ein
IDBKeyRange, der die abzurufenden Datensätze identifiziert. Wenn dieser Wertnullist oder nicht spezifiziert wurde, verwendet der Browser einen nicht gebundenen Schlüsselbereich. countOptional-
Die Anzahl der zurückzugebenden Datensätze. Wenn dieser Wert die Anzahl der Datensätze in der Abfrage übersteigt, wird der Browser nur die abgefragten Datensätze abrufen. Wenn der Wert kleiner als
0oder größer als2^32 - 1ist, wird eineTypeErrorAusnahme ausgelöst. directionOptional-
Ein enumerierter Wert, der die Richtung angibt, in der die Datensätze durchlaufen werden. Mögliche Werte sind:
next-
Die Datensätze werden von Anfang an in aufsteigender Schlüsselreihenfolge durchlaufen. Dies ist der Standardwert.
nextunique-
Die Datensätze werden von Anfang an in aufsteigender Schlüsselreihenfolge durchlaufen. Für jeden Schlüssel mit doppelten Datensätzen wird nur der Datensatz ausgewählt, der dem Anfang am nächsten liegt.
prev-
Die Datensätze werden vom Ende her in absteigender Schlüsselreihenfolge durchlaufen.
prevunique-
Die Datensätze werden vom Ende her in absteigender Schlüsselreihenfolge durchlaufen. Für jeden Schlüssel mit doppelten Datensätzen wird nur der Datensatz ausgewählt, der dem Anfang am nächsten liegt.
Rückgabewert
Ein IDBRequest Objekt, auf dem nachfolgende Ereignisse zu 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 repräsentieren, die der gegebenen Abfrage entsprechen, bis zur Anzahl, die durch count (falls angegeben) spezifiziert ist.
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 mit dem Index assoziierten
IDBObjectStoredarstellt. value-
Ein Wert, der den Wert des Datensatzes darstellt.
Ausnahmen
Diese Methode kann eine DOMException der folgenden Typen auslösen:
InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
IDBIndexoder dessen zugehörigerIDBObjectStoregelöscht oder entfernt wurde. TransactionInactiveErrorDOMException-
Wird ausgelöst, wenn die Transaktion dieses
IDBIndexinaktiv ist. TypeErrorDOMException-
Wird ausgelöst, wenn der
countParameter nicht zwischen0und2^32 - 1liegt, 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()- Using IndexedDB
- Starten von Transaktionen:
IDBDatabase - Verwenden von Transaktionen:
IDBTransaction - Festlegen eines Schlüsselbereichs:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwenden von Cursoren:
IDBCursor - Schnellere IndexedDB-Lesevorgänge mit dem getAllRecords() Beispiel von Microsoft, 2025