IDBIndex: getAllKeys() 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 getAllKeys()
method of the IDBIndex
interface asynchronously retrieves the primary keys of all objects inside the index,
setting them as the result
of the request object.
Syntax
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)
getAllKeys(options)
Parameters
The getAllKeys()
method can take separate parameters or a single options object containing the parameters as properties.
The parameters can include:
query
Optional-
A key or an
IDBKeyRange
identifying the keys to retrieve. If this value isnull
or not specified, the browser will use an unbound key range. count
Optional-
The number records to return. If this value exceeds the number of records in the query, the browser will only retrieve the first item. If it is lower than
0
or greater than2^32 - 1
aTypeError
exception will be thrown.
If an object parameter is specified, its properties can include:
query
Optional-
See the earlier
query
definition. count
Optional-
See the earlier
count
definition. direction
Optional-
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. Keys duplicated across multiple objects are only yielded once.
prev
-
The objects are traversed from the end, in decreasing key order.
prevunique
-
The objects are traversed from the end, in decreasing key order. Keys duplicated across multiple objects are only yielded once.
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 keys for 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. TypeError
DOMException
-
Thrown if the
count
parameter is not between0
and2^32 - 1
, inclusive.
Examples
const myIndex = objectStore.index("index");
const getAllKeysRequest = myIndex.getAllKeys();
getAllKeysRequest.onsuccess = () => {
console.log(getAllKeysRequest.result);
};
Specifications
Specification |
---|
Indexed Database API 3.0> # ref-for-dom-idbindex-getallkeys①> |
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).