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
keySchreibgeschü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. primaryKeySchreibgeschützt-
Ein Wert, der den primären Schlüssel des Datensatzes darstellt. Dieser Schlüssel wird verwendet, um den Datensatz im
IDBObjectStoredarzustellen. valueSchreibgeschü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.
// 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> |