IDBIndex.getAll()
The getAll() method of the IDBIndex interface retrieves all objects that are inside the index.
There is a performance cost associated with looking at the value property of a cursor, because the object is created lazily. To use a feature like getAll(), the browser has to create all the objects at once. If you are just interested in looking at each of the keys, for instance, it is more efficient to use a cursor. If you are trying to get an array of all the objects in an object store, though, you should use getAll().
Syntax
var getAllKeysRequest = IDBIndex.getAll(); var getAllKeysRequest = IDBIndex.getAll(query); var getAllKeysRequest = IDBIndex.getAll(query, count);
Parameters
- query Optional
-
A key or an
IDBKeyRangeidentifying the records to retrieve. If this value is null or missing, the browser will use an unbound key range. - count Optional
-
The number of records to return. If this value exceeds the number of records in the query, the browser will only retrieve the queried records. If it is lower than
0or greater than2^32 - 1aTypeErrorexception will be thrown.
Return value
An IDBRequest object on which subsequent events related to this operation are fired.
Exceptions
This method may raise a DOMException of the following types:
| Exception | Description |
|---|---|
TransactionInactiveError | This IDBIndex's transaction is inactive. |
InvalidStateError | The IDBIndex has been deleted or removed. |
A TypeError exception is thrown if the count parameter is not between 0 and 2^32> - 1 included.
Example
var myIndex = objectStore.index('index'); var getAllRequest = myIndex.getAll(); getAllRequest.onsuccess = function() { console.log(getAllRequest.result); }
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
getAll |
48 |
≤18 |
44 |
No |
35 |
10.1 |
48 |
48 |
44 |
35 |
10.3 |
5.0 |
See also
- Using IndexedDB
- Starting transactions:
IDBDatabase - Using transactions:
IDBTransaction - Setting a range of keys:
IDBKeyRange - Retrieving and making changes to your data:
IDBObjectStore - Using cursors:
IDBCursor - Reference example: To-do Notifications (view example live.)
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBIndex/getAll