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.
var myIDBKeyRange = IDBKeyRange.upperBound(upper[, open=false])
IDBKeyRange
: The newly created key range.
This method may raise a DOMException
of the following type:
Exception | Description |
---|---|
DataError | The value parameter passed was not a valid key. |
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 | Status | Comment |
---|---|---|
Indexed Database API The definition of 'upperBound()' in that specification. | Recommendation | |
Indexed Database API 2.0 The definition of 'upperBound()' in that specification. | Recommendation |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 24
|
12 | 16
|
10
|
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 |
IDBDatabase
IDBTransaction
IDBKeyRange
IDBObjectStore
IDBCursor
© 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