W3cubDocs

/DOM

IDBKeyRange.upperOpen

The upperOpen property of the IDBKeyRange interface returns a boolean indicating whether the upper-bound value is included in the key range.

Note: This feature is available in Web Workers.

Syntax

myKeyRange.upperOpen;

Value

A boolean:

Value Indication
true The upper-bound value is not included in the key range.
false The upper-bound value is included in the key range.

Example

The following example illustrates how you'd use a key range. Here we declare keyRangeValue = IDBKeyRange.upperBound("F", "W", true, true); — a range that includes everything between "F" and "W" but not including them — since both the upper and lower bounds have been declared as open (true). 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.

After declaring the key range, we log its upperOpen property value to the console, which should appear as "true": the upper bound is open, so won't be included in the range.

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.bound("F", "W", true, true);
  console.log(keyRangeValue.upperOpen);

  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

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

Browser compatibility

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

See also

© 2005–2017 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/upperOpen