IDBObjectStore: getAll() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
ThegetAll() method of theIDBObjectStore interface returns anIDBRequest objectcontaining all objects in the object store matching the specified parameter or allobjects in the store if no parameters are given.
If a value is successfully found, then a structured clone of it is created and set asthe result of the request object.
This method produces the same result for:
- a record that doesn't exist in the database
- a record that has an undefined value
To tell these situations apart, you either call
- the
openCursor()method with the samekey. That method provides a cursor if the record exists, and no cursor if it does not. - the
count()method with the same key, whichwill return 1 if the row exists and 0 if it doesn't.
In this article
Syntax
getAll()getAll(query)getAll(query, count)getAll(options)Parameters
ThegetAll() method can take separate parameters or a single options object containing the parameters as properties.
The parameters can include:
queryOptionalA key or
IDBKeyRangeto be queried. If this value is not specified, this willdefault to a key range that selects all the records in this object store.countOptionalSpecifies the number of values to return if more than one is found. If it is lowerthan
0or greater than2^32 - 1aTypeErrorexception will be thrown.
If an object parameter is specified, its properties can include:
queryOptionalSee the earlier
querydefinition.countOptionalSee the earlier
countdefinition.directionOptionalAn enumerated value specifying the direction in which the objects are traversed. Possible values are:
nextThe objects are traversed from the beginning, in increasing key order. This is the default value.
nextuniqueThe objects are traversed from the beginning, in increasing key order. This will yield the same objects as
next, because duplicate keys are not allowed inIDBObjectStores.prevThe objects are traversed from the end, in decreasing key order.
prevuniqueThe objects are traversed from the end, in decreasing key order. This will yield the same objects as
prev, because duplicate keys are not allowed inIDBObjectStores.
Return value
AnIDBRequest object on which subsequent events related to this operation are fired.
If the operation is successful, the value of the request'sresult property is anArray of the values of all records matching the given query, up to the value ofcount, ifcount was supplied.
Exceptions
This method may raise aDOMException of one of the following types:
TransactionInactiveErrorDOMExceptionThrown if this
IDBObjectStore's transaction is inactive.DataErrorDOMExceptionThrown if key or key range provided contains an invalid key or is null.
InvalidStateErrorDOMExceptionThrown if the
IDBObjectStorehas been deleted or removed.TypeErrorDOMExceptionThrown if the
countparameter is not between0and2^32 - 1, inclusive.
Specifications
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-getall①> |
Browser compatibility
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).