IDBKeyRange: only() 静态方法

注意: 此功能在 Web Workers 中可用。

only()IDBKeyRange 接口的静态方法,用于创建一个包含单个值的新的键范围。

语法

js
IDBKeyRange.only(value)

参数

value

新键范围的值。

返回值

IDBKeyRange: 新创建的键范围。

异常

DataError DOMException

如果 value 参数不是有效的键,则抛出此异常。

示例

以下示例说明了如何使用 only 键范围。这里我们声明了 keyRangeValue = IDBKeyRange.only("A"); — 一个仅包含值 "A" 的范围。我们打开了一个事务(使用 IDBTransaction)和一个对象存储,并使用 IDBObjectStore.openCursor 打开一个游标,将 keyRangeValue 声明为其可选的键范围值。这意味着游标将仅检索键值为 "A" 的记录。

注意: 有关允许您试验键范围的更完整示例,请查看我们的 IDBKeyRange 仓库(查看示例的实时演示)。

js
function displayData() {
  const keyRangeValue = IDBKeyRange.only("A");

  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-only①

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参见