IDBKeyRange: thuộc tính upperOpen
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Thuộc tính chỉ đọc upperOpen của giao diện IDBKeyRange trả về một giá trị boolean cho biết giá trị ở giới hạn trên có được bao gồm trong phạm vi khóa hay không.
Giá trị
Một giá trị boolean:
| Giá trị | Ý nghĩa |
|---|---|
true |
Giá trị ở giới hạn trên không được bao gồm trong phạm vi khóa. |
false |
Giá trị ở giới hạn trên được bao gồm trong phạm vi khóa. |
Ví dụ
Ví dụ sau minh họa cách dùng một phạm vi khóa. Ở đây chúng ta khai báo keyRangeValue = IDBKeyRange.upperBound("F", "W", true, true); - một phạm vi bao gồm mọi giá trị nằm giữa "F" và "W" nhưng không bao gồm chính chúng, vì cả giới hạn trên lẫn dưới đều được khai báo là mở (true). Chúng ta mở một transaction (dùng IDBTransaction) và một object store, rồi mở một cursor bằng IDBObjectStore.openCursor, với keyRangeValue là giá trị phạm vi khóa tùy chọn.
Sau khi khai báo phạm vi khóa, chúng ta ghi giá trị thuộc tính upperOpen của nó ra console; kết quả nên là "true": giới hạn trên là mở nên sẽ không được bao gồm trong phạm vi.
Note: Để có ví dụ đầy đủ hơn cho phép bạn thử nghiệm phạm vi khóa, hãy xem repo IDBKeyRange-example của chúng tôi (xem ví dụ trực tiếp nữa.
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.");
}
};
}
Thông số kỹ thuật
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbkeyrange-upperopen①> |
Tương thích trình duyệt
Xem thêm
- Dùng IndexedDB
- Bắt đầu transaction:
IDBDatabase - Dùng transaction:
IDBTransaction - Thiết lập một phạm vi khóa:
IDBKeyRange - Truy xuất và sửa đổi dữ liệu của bạn:
IDBObjectStore - Dùng cursor:
IDBCursor - Ví dụ tham khảo: To-do Notifications (Xem ví dụ trực tiếp).