IDBRecord
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das IDBRecord-Interface der IndexedDB-API repräsentiert eine Momentaufnahme eines einzelnen Datensatzes in einem IDBObjectStore oder IDBIndex.
Eine Anfrage nach Datensätzen mittels IDBObjectStore.getAllRecords() oder IDBIndex.getAllRecords() gibt eine Instanz von IDBRequest zurück.
Bei Erfolg wird die result-Eigenschaft des zurückgegebenen Objekts mit einem Array von IDBRecord-Instanzen gefüllt.
Instanzeigenschaften
keySchreibgeschützt-
Ein Wert, der den sekundären Schlüssel des Datensatzes darstellt. Für einen Datensatz in einem Objektspeicher wird dies derselbe Wert wie
primaryKeysein. Für einen Indexdatensatz wird dies 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.
Instanzmethoden
Keine.
Beispiele
>Grundlegende Verwendung
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 zu zeigen) und verwendet diese, um ein IDBObjectStore mit einer Kontaktliste zu erhalten.
Dann ruft er getAllRecords() auf dem Objektspeicher auf, was eine Instanz von IDBRequest zurückgibt.
Ereignis-Listener werden zu dieser Anfrage für die success- und error-Ereignisse 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, da dies eine Abfrage auf einem IDBObjectStore ist, 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> |