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.'); } }; };
Specifications
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
upperBound |
23 |
12 |
10 |
10 |
15 |
7 |
Yes |
Yes |
22 |
14 |
8 |
Yes |
See also
- Using IndexedDB
- Starting transactions:
IDBDatabase
- Using transactions:
IDBTransaction
- Setting a range of keys:
IDBKeyRange
- Retrieving and making changes to your data:
IDBObjectStore
- Using cursors:
IDBCursor
- Reference example: To-do Notifications (view example live.)
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBKeyRange/upperBound