IDBIndex: 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.
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
getAll()
getAll(query)
getAll(query, count)
getAll(options)
Parameters
The getAll() method can take separate parameters or a single options object containing the parameters as properties.
The parameters can include:
queryOptional-
A key or an
IDBKeyRangeidentifying the records to retrieve. If this value isnullor not specified, the browser will use an unbound key range. countOptional-
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.
If an object parameter is specified, its properties can include:
queryOptional-
See the earlier
querydefinition. countOptional-
See the earlier
countdefinition. directionOptional-
An enumerated value specifying the direction in which the objects are traversed. Possible values are:
next-
The objects are traversed from the beginning, in increasing key order. This is the default value.
nextunique-
The objects are traversed from the beginning, in increasing key order. For every key with duplicate objects, only the object closest to the start is yielded.
prev-
The objects are traversed from the end, in decreasing key order.
prevunique-
The objects are traversed from the end, in decreasing key order. For every key with duplicate objects, only the object closest to the start is yielded.
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:
TransactionInactiveErrorDOMException-
Thrown if this
IDBIndex's transaction is inactive. InvalidStateErrorDOMException-
Thrown if the
IDBIndexhas been deleted or removed. TypeErrorDOMException-
Thrown if the
countparameter is not between0and2^32 - 1, inclusive.
Examples
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
Loading…
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).