IDBObjectStore: transaction-Eigenschaft
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die transaction schreibgeschützte Eigenschaft des IDBObjectStore-Interfaces gibt das Transaktionsobjekt zurück, zu dem dieser Objektspeicher gehört.
Wert
Ein IDBTransaction-Objekt.
Beispiele
Im folgenden Code-Snippet öffnen wir eine Lese-/Schreibtransaktion für unsere Datenbank und fügen einige Daten zu einem Objektspeicher hinzu, indem wir add() verwenden. Nachdem der Objektspeicher erstellt wurde, protokollieren wir objectStore.transaction in die Konsole. Ein vollständiges funktionsfähiges Beispiel finden Sie in unserer To-do Notifications-App (Beispiel live ansehen).
// Let us open our database const DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onsuccess = (event) => { note.appendChild(document.createElement("li")).textContent = "Database initialized."; // store the result of opening the database in the db variable. // This is used a lot below db = DBOpenRequest.result; // Run the addData() function to add the data to the database addData(); }; function addData() { // Create a new object ready to insert into the IDB const newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no", }, ]; // open a read/write db transaction, ready for adding the data const transaction = db.transaction(["toDoList"], "readwrite"); // report on the success of the transaction completing, when everything is done transaction.oncomplete = (event) => { note.appendChild(document.createElement("li")).textContent = "Transaction completed."; }; transaction.onerror = (event) => { note.appendChild(document.createElement("li")).textContent = "Transaction not opened due to error. Duplicate items not allowed."; }; // create an object store on the transaction const objectStore = transaction.objectStore("toDoList"); console.log(objectStore.transaction); // Make a request to add our newItem object to the object store const objectStoreRequest = objectStore.add(newItem[0]); objectStoreRequest.onsuccess = (event) => { // report the success of our request note.appendChild(document.createElement("li")).textContent = "Request successful."; }; } Spezifikationen
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-transaction①> |
Browser-Kompatibilität
Siehe auch
- Verwendung von IndexedDB
- Starten von Transaktionen:
IDBDatabase - Verwendung von Transaktionen:
IDBTransaction - Festlegen eines Schlüsselbereichs:
IDBKeyRange - Abrufen und Ändern Ihrer Daten:
IDBObjectStore - Verwenden von Cursors:
IDBCursor - Referenzbeispiel: To-do Notifications (Beispiel live ansehen).