The lowerOpen
read-only property of the IDBKeyRange
interface returns a boolean indicating whether the lower-bound value is included in the key range.
Syntax
var lowerOpen = myKeyRange.lowerOpen
Value
A boolean
:
Value | Indication |
---|---|
true |
The lower-bound value is not included in the key range. |
false |
The lower-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 lowerOpen
property value to the console, which should appear as "true": the lower 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.lowerOpen); 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 'lowerOpen' in that specification. |
Recommendation | |
Indexed Database API 2.0 The definition of 'lowerOpen' in that specification. |
Editor's Draft |
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) | ? |
Indexed Database 2.0 | 58 | ? | ? | ? | 45 | ? |
Feature | Android Webview | Chrome for Android | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 |
Available in workers | (Yes) | (Yes) | (Yes) | 37.0 (37.0) | (Yes) | ? | (Yes) | ? |
Indexed Database 2.0 | 58 | 58 | ? | ? | ? | ? | 45 | ? |
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.)