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

View in English Always switch to English

IDBObjectStore: 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 IDBObjectStore Interfaces ruft alle Datensätze (einschließlich Primärschlüssel und Werte) aus dem Objekt-Store ab.

getAllRecords() kombiniert effektiv die Funktionalitäten von getAllKeys() und getAll(), indem es gleichzeitig sowohl Primärschlüssel als auch Werte aufzählt. Diese kombinierte Operation ermöglicht es, bestimmte Datenabrufmuster erheblich schneller als Alternativen wie die Iteration mit Cursoren auszuführen.

Syntax

js
getAllRecords()
getAllRecords(options)

Parameter

Ein Optionsobjekt, dessen Eigenschaften Folgendes beinhalten 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 übersteigt, ruft der Browser nur die abgefragten Datensätze ab. 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, was wiederum die Reihenfolge definiert, in der sie zurückgegeben 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. Dies wird die gleichen Datensätze wie next liefern, da doppelte Schlüssel in IDBObjectStores nicht erlaubt sind.

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. Dies wird die gleichen Datensätze wie prev liefern, da doppelte Schlüssel in IDBObjectStores nicht erlaubt sind.

Rückgabewert

Ein IDBRequest Objekt, bei dem nachfolgende Ereignisse im Zusammenhang mit dieser Operation ausgelöst werden.

Falls die Operation erfolgreich ist, ist der Wert der result Eigenschaft des Anforderungsobjekts ein Array von Objekten, die alle Datensätze darstellen, die zu der angegebenen Abfrage passen, bis zur Anzahl, die durch count (falls angegeben) spezifiziert wird.

Jedes Objekt enthält die folgenden Eigenschaften:

key

Ein Wert, der den Schlüssel des Datensatzes repräsentiert.

primaryKey

Der Schlüssel des Datensatzes; identisch mit der key-Eigenschaft.

value

Ein Wert, der den Wert des Datensatzes repräsentiert.

Ausnahmen

Diese Methode kann eine DOMException der folgenden Typen auslösen:

InvalidStateError DOMException

Wird ausgelöst, wenn das IDBObjectStore gelöscht oder entfernt wurde.

TransactionInactiveError DOMException

Wird ausgelöst, wenn die Transaktion dieser IDBObjectStore inaktiv ist.

TypeError DOMException

Wird ausgelöst, wenn der count Parameter nicht zwischen 0 und 2^32 - 1, inklusive, liegt.

Beispiele

js
const query = IDBKeyRange.lowerBound("myKey", true);
const objectStore = transaction.objectStore("contactsList");

const myRecords = (objectStore.getAllRecords({
  query,
  count: "100",
  direction: "prev",
}).onsuccess = (event) => {
  console.log("Records successfully retrieved");
});

Spezifikationen

Specification
Indexed Database API 3.0
# dom-idbobjectstore-getallrecords

Browser-Kompatibilität

Siehe auch