The get()
method of the IDBObjectStore
interface returns an IDBRequest
object, and, in a separate thread, returns the object store selected by the specified key. This is for retrieving specific records from an object store.
If a value is successfully found, then a structured clone of it is created and set as the result
of the request object.
openCursor()
method with the same key. That method provides a cursor if the record exists, and no cursor if it does not.var request = objectStore.get(key);
An IDBRequest
object on which subsequent events related to this operation are fired.
This method may raise a DOMException
of one of the following types:
Exception | Description |
---|---|
TransactionInactiveError | This IDBObjectStore 's transaction is inactive. |
DataError | The key or key range provided contains an invalid key. |
InvalidStateError | The IDBObjectStore has been deleted or removed. |
In the following code snippet, we open a read/write transaction on our database and get one specific record from object store using get()
— a sample record with the key "Walk dog". Once this data object is retrieved, you could then update it using normal JavaScript, then put it back into the database using a IDBObjectStore.put
operation. For a full working example, see our To-do Notifications app (view example live.)
// Let us open our database var DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onsuccess = function(event) { note.innerHTML += '<li>Database initialised.</li>'; // store the result of opening the database in the db variable. // This is used a lot below db = DBOpenRequest.result; // Run the getData() function to get the data from the database getData(); }; function getData() { // open a read/write db transaction, ready for retrieving the data var transaction = db.transaction(["toDoList"], "readwrite"); // report on the success of the transaction completing, when everything is done transaction.oncomplete = function(event) { note.innerHTML += '<li>Transaction completed.</li>'; }; transaction.onerror = function(event) { note.innerHTML += '<li>Transaction not opened due to error: ' + transaction.error + '</li>'; }; // create an object store on the transaction var objectStore = transaction.objectStore("toDoList"); // Make a request to get a record by key from the object store var objectStoreRequest = objectStore.get("Walk dog"); objectStoreRequest.onsuccess = function(event) { // report the success of our request note.innerHTML += '<li>Request successful.</li>'; var myRecord = objectStoreRequest.result; }; };
Specification | Status | Comment |
---|---|---|
Indexed Database API The definition of 'get()' in that specification. | Recommendation | |
Indexed Database API 2.0 The definition of 'get()' in that specification. | Recommendation |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 24
|
12 | 16
|
10
|
15 | 7 |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | Yes
|
25
|
Yes | 22 | 22 | 8 | Yes
|
IDBDatabase
IDBTransaction
IDBKeyRange
IDBObjectStore
IDBCursor
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore/get