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.

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

js
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 Wert null 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 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 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öriges 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