IDBKeyRange: phương thức tĩnh upperBound()

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.

Phương thức tĩnh upperBound() của giao diện IDBKeyRange tạo một phạm vi khóa mới chỉ có giới hạn trên. Mặc định, nó bao gồm giá trị ở đầu mút trên và là phạm vi đóng.

Cú pháp

js
IDBKeyRange.upperBound(upper)
IDBKeyRange.upperBound(upper, open)

Tham số

upper

Chỉ định giới hạn trên của phạm vi khóa mới.

open Optional

Cho biết giới hạn trên có loại trừ giá trị đầu mút hay không. Mặc định là false.

Giá trị trả về

IDBKeyRange: Phạm vi khóa vừa được tạo.

Ngoại lệ

DataError DOMException

Được ném ra nếu khóa gắn với tham số upper không phải là một khóa hợp lệ.

Ví dụ

Ví dụ sau minh họa cách dùng phạm vi khóa chỉ có giới hạn trên. Ở đây chúng ta khai báo keyRangeValue = IDBKeyRange.upperBound("F"); - một phạm vi bao gồm giá trị "F" và mọi giá trị trước nó. 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.

Nếu dùng IDBKeyRange.upperBound("F", true);, thì phạm vi sẽ loại trừ "F" và chỉ gồm các giá trị trước nó.

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).

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.");
    }
  };
}

Thông số kỹ thuật

Specification
Indexed Database API 3.0
# ref-for-dom-idbkeyrange-upperbound①

Tương thích trình duyệt

Xem thêm