IDBIndex: getAll() method
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
js
getAll()
getAll(query)
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.
If the operation is successful, the value of the request's result
property is an Array
of the values of all records matching the given query, up to the value of count
, if count
was supplied.
Exceptions
This method may raise a DOMException
of the following types:
TransactionInactiveError
DOMException
-
Thrown if this
IDBIndex
's transaction is inactive. InvalidStateError
DOMException
-
Thrown if 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.
Examples
js
const myIndex = objectStore.index("index");
const getAllRequest = myIndex.getAll();
getAllRequest.onsuccess = () => {
console.log(getAllRequest.result);
};
Specifications
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbindex-getall① |
Browser compatibility
BCD tables only load in the browser
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 the example live).