IDBKeyRange.lowerBound()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
IDBKeyRange
接口的 lowerBound()
方法创建一个只有下限的新的键范围。默认情况下,它包含较低的端点值。
备注: 此特性在 Web Worker 中可用。
语法
js
IDBKeyRange.lowerBound(lower)
IDBKeyRange.lowerBound(lower, open)
参数
返回值
IDBKeyRange
: 新创建的键范围。
异常
此方法可能引发以下类型的 DOMException
:
Exception | Description |
---|---|
DataError | The value parameter passed was not a valid key. |
示例
下面的示例演示如何使用下限键范围。在这里,我们声明keyRangeValue = IDBKeyRange.lowerBound("F", false);
— 一个包含值“F”及其后所有内容的范围。我们打开一个事务(使用 IDBTransaction
)和一个对象存储,并使用 IDBObjectStore.openCursor
打开一个游标,声明keyRangeValue
为其可选的键范围值。这意味着光标将只检索键值为“F”及其后面的所有记录。如果使用IDBKeyRange.lowerBound("F", true);
,则该范围将不包括端点“F”,仅包括其后面的值。
备注: 要获得一个更完整的示例,使你能够使用键范围进行实验,请查看我们的 IDBKeyRange-example(实时查看该示例)。
js
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 |
---|
Indexed Database API 3.0 # ref-for-dom-idbkeyrange-lowerbound① |
浏览器兼容性
BCD tables only load in the browser
参见
- 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.)