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

View in English Always switch to English

IDBRecord

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das IDBRecord-Interface der IndexedDB API repräsentiert einen Schnappschuss eines einzelnen Datensatzes in einem IDBObjectStore oder IDBIndex.

Eine Anfrage nach Datensätzen mit IDBObjectStore.getAllRecords() oder IDBIndex.getAllRecords() gibt eine Instanz von IDBRequest zurück. Im Erfolgsfall wird die zurückgegebene result-Eigenschaft des Objekts mit einem Array von IDBRecord-Instanzen gefüllt.

Instanz-Eigenschaften

key Schreibgeschützt

Ein Wert, der den sekundären Schlüssel des Datensatzes darstellt. Für einen Datensatz im Object Store ist dies derselbe wie primaryKey. Für einen Indexdatensatz wird es der Schlüssel des Datensatzes innerhalb des Index sein.

primaryKey Schreibgeschützt

Ein Wert, der den primären Schlüssel des Datensatzes darstellt. Dieser Schlüssel wird verwendet, um den Datensatz im IDBObjectStore darzustellen.

value Schreibgeschützt

Ein Wert, der den Wert des Datensatzes darstellt.

Instanz-Methoden

Keine.

Beispiele

Grundlegende Nutzung

Dieses Beispiel fragt einen IDBObjectStore nach bis zu 100 Datensätzen ab, deren Schlüssel nach "myKey" kommen, wobei die Ergebnisse in umgekehrter Reihenfolge sortiert sind.

Der Code erstellt zuerst eine Transaktion auf einer IDBDatabase namens db (ohne den Code zum Öffnen der Datenbank) und verwendet sie dann, um einen IDBObjectStore mit einer Kontaktliste zu erhalten. Anschließend wird getAllRecords() auf dem Object Store aufgerufen, was eine Instanz von IDBRequest zurückgibt. Für diese Anfrage werden Event-Listener für die Ereignisse success und error hinzugefügt. Bei Erfolg wird das Ergebnis event.target.result protokolliert (dies ist auch als request.result verfügbar). Dieses Ergebnis enthält ein Array von IDBRecord-Instanzen. Beachten Sie, dass aufgrund dieser Abfrage auf einem IDBObjectStore der key und primaryKey in jedem Datensatz denselben Wert haben.

js
// Create a transaction on the database and use it to get the contained store
const transaction = db.transaction(["contactsList"], "readonly");
const objectStore = transaction.objectStore("contactsList");

const query = IDBKeyRange.lowerBound("myKey", true);

const request = objectStore.getAllRecords({
  query,
  count: 100,
  direction: "prev",
});

request.addEventListener("success", (event) => {
  const myRecords = event.target.result; // Array of IDBRecord instances
  console.log(myRecords);
});

request.addEventListener("error", (event) => {
  console.error("Error retrieving records:", event.target.error);
});

Spezifikationen

Spezifikation
Indexed Database API 3.0
# record-interface

Browser-Kompatibilität

Siehe auch