IDBKeyRange: upperBound() 靜態方法
注意:此功能在 Web Workers 中可用。
upperBound() 靜態方法是 IDBKeyRange 介面的一部分,用於建立一個新的上界鍵範圍。預設情況下,它包含上界值,且該界是封閉的。
語法
js
IDBKeyRange.upperBound(upper)
IDBKeyRange.upperBound(upper, open)
引數
返回值
IDBKeyRange: 新建立的鍵範圍。
異常
DataErrorDOMException-
如果
upper引數關聯的鍵不是有效鍵,則丟擲此錯誤。
示例
下面的示例說明了如何使用上界鍵範圍。在此,我們宣告 keyRangeValue = IDBKeyRange.upperBound("F"); — 這是一個包含值 "F" 及其之前所有值的範圍。我們開啟一個事務(使用 IDBTransaction)和一個物件儲存,並透過 IDBObjectStore.openCursor 開啟一個遊標,將 keyRangeValue 宣告為其可選的鍵範圍值。
如果我們使用 IDBKeyRange.upperBound("F", true);,則該範圍將排除 "F";而只包含它之前的值。
注意:有關一個更完整的示例,允許您嘗試鍵範圍,請檢視我們的 IDBKeyRange-example 倉庫(也可以 線上檢視示例)。
js
function displayData() {
const keyRangeValue = IDBKeyRange.upperBound("F");
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-upperbound① |
瀏覽器相容性
載入中…
另見
- 使用 IndexedDB
- 開始事務:
IDBDatabase - 使用事務:
IDBTransaction - 設定鍵的範圍:
IDBKeyRange - 檢索和修改資料:
IDBObjectStore - 使用遊標:
IDBCursor - 參考示例:待辦事項通知(檢視即時示例)。