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
IDBKeyRange
identifying 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
0
or greater than2^32 - 1
aTypeError
exception 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