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 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 than 232-1 a TypeError 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 232-1 included.

Example

var myIndex = objectStore.index('index');
var getAllKeysRequest = myIndex.getAllKeys();
getAllKeysRequest.onsuccess = function() {
  console.log(getAllKeysRequest.result);
}

Specification

Specification Status Comment
Indexed Database API 2.0
The definition of 'getAll()' in that specification.
Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support 48Edge Full support YesFirefox Full support 44
Disabled
Full support 44
Disabled
Disabled From version 44: this feature is behind the dom.indexedDB.experimental preference. To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 35Safari Full support 10.1WebView Android Full support 48Chrome Android Full support 48Edge Mobile Full support YesFirefox Android Full support 44
Disabled
Full support 44
Disabled
Disabled From version 44: this feature is behind the dom.indexedDB.experimental preference. To change preferences in Firefox, visit about:config.
Opera Android Full support 35Safari iOS Full support 10.1Samsung Internet Android Full support 5.0

Legend

Full support  
Full support
No support  
No support
User must explicitly enable this feature.
User must explicitly enable this feature.

See also

Document Tags and Contributors

Last updated by: fscholz,