IDBKeyRange.lowerBound()
IDBKeyRange
接口的 lowerBound()
方法创建一个只有下限的新的键范围。默认情况下,它包含较低的端点值。
备注: 此特性在 Web Worker 中可用
Syntax
var myIDBKeyRange = IDBKeyRange.lowerBound(lower); var myIDBKeyRange = IDBKeyRange.lowerBound(lower, open);
Parameters
- lower
-
指定新键范围的下限。
- open 可选
-
指示下限是否排除端点值。默认值为 false。
Return value
IDBKeyRange
: 新创建的键范围。
Exceptions
此方法可能引发以下类型的 DOMException
:
Exception | Description |
---|---|
DataError | The value parameter passed was not a valid key. |
Example
下面的示例演示如何使用下限键范围。在这里,我们声明keyRangeValue = IDBKeyRange.lowerBound("F", false);
— 一个包含值“F”及其后所有内容的范围。我们打开一个事务(使用 IDBTransaction
)和一个对象存储,并使用 IDBObjectStore.openCursor
打开一个游标,声明keyRangeValue
为其可选的键范围值。这意味着光标将只检索键值为“F”及其后面的所有记录。如果使用IDBKeyRange.lowerBound("F", true);
,则该范围将不包括端点“F”,仅包括其后面的值。
备注: 要获得一个更完整的示例,使您能够使用键范围进行实验,请查看我们的 IDBKeyRange-example(实时查看该示例)。
function displayData() {
var keyRangeValue = IDBKeyRange.lowerBound("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
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbkeyrange-lowerbound① |
Browser compatibility
BCD tables only load in the browser
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.)