The IDBCursorWithValue interface of the IndexedDB API represents a cursor for traversing or iterating over multiple records in a database. It is the same as the IDBCursor, except that it includes the value property.

The cursor has a source that indicates which index or object store it is iterating over. It has a position within the range, and moves in a direction that is increasing or decreasing in the order of record keys. The cursor enables an application to asynchronously process all the records in the cursor's range.

You can have an unlimited number of cursors at the same time. You always get the same IDBCursorWithValue object representing a given cursor. Operations are performed on the underlying index or object store.

Note: This feature is available in Web Workers.


Inherits methods from its parent interface, IDBCursor.


Inherits properties from its parent interface, IDBCursor.

IDBCursorWithValue.value Read only
Returns the value of the current cursor.


In this simple fragment we create a transaction, retrieve an object store, then use a cursor to iterate through all the records in the object store. The cursor does not require us to select the data based on a key; we can just grab all of it. Also note that in each iteration of the loop, you can grab data from the current record under the cursor object using For a complete working example, see our IDBCursor example (view example live.)

function displayData() {
  var transaction = db.transaction(['rushAlbumList'], "readonly");
  var objectStore = transaction.objectStore('rushAlbumList');

  objectStore.openCursor().onsuccess = function(event) {
    var cursor =;
    if(cursor) {
      var listItem = document.createElement('li');
      listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year;

    } else {
      console.log('Entries all displayed.');


Specification Status Comment
Indexed Database API
The definition of 'IDBCursorWithValue' in that specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 23webkit
10 moz
16.0 (16.0)
10, partial 15 7.1
Available in workers (Yes) 42 (42) ? (Yes) ?
Feature Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support 4.4 22.0 (22.0) 1.0.1 10 22 8
Available in workers (Yes) 42.0 (42.0) (Yes) ? (Yes) ?

See also

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, fscholz, pdm, amaneight, teoli, ethertank, madarche
 Last updated by: chrisdavidmills,