The mode
read-only property of the IDBTransaction
interface returns the current mode for accessing the data in the object stores in the scope of the transaction (i.e. is the mode to be read-only, or do you want to write to the object stores?) The default value is readonly
.
An IDBTransactionMode
object defining the mode for isolating access to data in the current object stores:
In the following code snippet, we open a read/write transaction on our database and add some data to an object store. Note also the functions attached to transaction event handlers to report on the outcome of the transaction opening in the event of success or failure. At the end, we log the mode of the current transaction using mode
. For a full working example, see our To-do Notifications app (view example live.)
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = event => {
note.innerHTML += '<li>Database initialized.</li>';
db = DBOpenRequest.result;
addData();
};
function addData() {
var newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ];
var transaction = db.transaction(["toDoList"], "readwrite");
transaction.oncomplete = event => {
note.innerHTML += '<li>Transaction completed: database modification finished.</li>';
};
transaction.onerror = event => {
note.innerHTML += '<li>Transaction not opened due to error. Duplicate items not allowed.</li>';
};
var objectStore = transaction.objectStore("toDoList");
var objectStoreRequest = objectStore.add(newItem[0]);
objectStoreRequest.onsuccess = event => {
note.innerHTML += '<li>Request successful.</li>';
};
transaction.mode;
};