Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
getAllRecords()
getAllRecords(options)

Parameter

Ein Optionsobjekt, dessen Eigenschaften umfassen können:

query Optional

Ein Schlüssel oder ein IDBKeyRange, der die abzurufenden Datensätze identifiziert. Wenn dieser Wert null ist oder nicht spezifiziert wurde, verwendet der Browser einen nicht gebundenen Schlüsselbereich.

count Optional

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 0 oder größer als 2^32 - 1 ist, wird eine TypeError Ausnahme ausgelöst.

direction Optional

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 IDBObjectStore 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 der IDBIndex oder dessen zugehöriger IDBObjectStore 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 zwischen 0 und 2^32 - 1 liegt, einschließlich.

Beispiele

js
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

Siehe auch