W3cubDocs

/DOM

IDBKeyRange.upperBound

The upperBound() method of the IDBKeyRange interface creates a new upper-bound key range. By default, it includes the upper endpoint value and is closed.

Note: This feature is available in Web Workers.

Syntax

var myIDBKeyRange = IDBKeyRange.upperBound(upper[, open=false])

Parameters

  • bound specifies the upper bound of the new key range.
  • open indicates whether the upper bound excludes the endpoint value. The default is false. Optional

Return value

IDBKeyRange: The newly created key range.

Exceptions

This method may raise a DOMException of the following type:

Exception Description
DataError

The value parameter passed was not a valid key.

Example

The following example illustrates how you'd use an upper bound key range. Here we declare keyRangeValue = IDBKeyRange.upperBound("F"); — a range that includes the value "F" and everything before it. We open a transaction (using IDBTransaction) and an object store, and open a Cursor with IDBObjectStore.openCursor, declaring keyRangeValue as its optional key range value.

If we used IDBKeyRange.upperBound("F", true);, then the range excludes "F"; and instead only includes the values before it.

Note: For a more complete example allowing you to experiment with key range, have a look at our IDBKeyRange-example repo (view the example live too.)

function displayData() {
  var keyRangeValue = IDBKeyRange.upperBound("F");

  var transaction = db.transaction(['fThings'], 'readonly');
  var objectStore = transaction.objectStore('fThings');

  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
    var cursor = event.target.result;
      if(cursor) {
        var listItem = document.createElement('li');
        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
        list.appendChild(listItem);  
          
        cursor.continue();
      } else {
        console.log('Entries all displayed.');
      }
    };
  };

Specification

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 24
24
23 — 24
Prefixed
Prefixed Requires the vendor prefix: webkit
12 16
16
10 — 16
Prefixed
Prefixed Requires the vendor prefix: moz
10
10
partial
15 7
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes Yes Yes 22 22 8 Yes

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBKeyRange/upperBound