此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

IDBCursor.key

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

key是只读属性,返回在游标中的位置。如果游标在范围之外,这个值会被置为 undefined。游标的 key 可以是任何数据类型。

备注: 此特性在 Web Worker 中可用。

任意类型

示例

在该示例中,我们创建一个事务,检索一个存储对象,然后使用游标遍历所有存储在 object store 中的记录。遍历的过程中,我们把类似(相簿标题,这是我们的键 key),游标的 key 打印出来。

我们可以不根据游标的 key 来选取数据;我们可以抓取所有。还要注意,在循环的每个迭代中,你可以使用 cursor.value.foo 从当前记录下获取数据。完整示例,请看IDBCursor example (view example live.)

js
function displayData() {
  const transaction = db.transaction(["rushAlbumList"], "readonly");
  const objectStore = transaction.objectStore("rushAlbumList");

  objectStore.openCursor().onsuccess = (event) => {
    const cursor = event.target.result;
    if (cursor) {
      const listItem = document.createElement("li");
      listItem.textContent = `${cursor.value.albumTitle} ${cursor.value.year}`;
      list.appendChild(listItem);

      console.log(cursor.key);
      cursor.continue();
    } else {
      console.log("已列出所有条目。");
    }
  };
}

规范

Specification
Indexed Database API 3.0
# ref-for-dom-idbcursor-key①

浏览器兼容性

相关链接