IDBKeyRange:upperOpen 属性
注意:此功能在Web Workers中可用。
upperOpen
是 IDBKeyRange
接口的一个只读属性,它返回一个布尔值,指示上界值是否包含在键范围内。
值
布尔值
值 | 指示 |
---|---|
true |
上界值不包含在键范围内。 |
false |
上界值包含在键范围内。 |
示例
以下示例说明了如何使用键范围。在这里,我们声明 keyRangeValue = IDBKeyRange.upperBound("F", "W", true, true);
- 一个包含“F”和“W”之间所有内容但并不包括它们本身的范围 - 因为上界和下界都被声明为开放(true
)。我们打开一个事务(使用IDBTransaction
)和一个对象存储,并使用IDBObjectStore.openCursor
打开一个游标,并声明keyRangeValue
作为其可选键范围值。
声明键范围后,我们将它的 upperOpen
属性值记录到控制台,它应该显示为“true”:上界是开放的,因此不包含在范围内。
注意:有关更完整的示例,使您能够尝试使用键范围,请查看我们的IDBKeyRange-example 存储库(也查看示例的实际效果)。
js
function displayData() {
const keyRangeValue = IDBKeyRange.bound("F", "W", true, true);
console.log(keyRangeValue.upperOpen);
const transaction = db.transaction(["fThings"], "readonly");
const objectStore = transaction.objectStore("fThings");
objectStore.openCursor(keyRangeValue).onsuccess = (event) => {
const cursor = event.target.result;
if (cursor) {
const listItem = document.createElement("li");
listItem.textContent = `${cursor.value.fThing}, ${cursor.value.fRating}`;
list.appendChild(listItem);
cursor.continue();
} else {
console.log("Entries all displayed.");
}
};
}
规范
规范 |
---|
Indexed Database API 3.0 # ref-for-dom-idbkeyrange-upperopen① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 使用 IndexedDB
- 启动事务:
IDBDatabase
- 使用事务:
IDBTransaction
- 设置键范围:
IDBKeyRange
- 检索和更改数据:
IDBObjectStore
- 使用游标:
IDBCursor
- 参考示例:待办通知(查看示例的实际效果)。