IDBCursor: primaryKey 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

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

primaryKeyIDBCursor 介面的一個只讀屬性,它返回遊標當前有效的鍵。如果遊標正在進行迭代或已超出其範圍,則該屬性設定為 undefined。遊標的主鍵可以是任何資料型別。

任何資料型別的值。

異常

InvalidStateError DOMException

如果遊標正在前進或已完成,則會丟擲此錯誤。

示例

在這個簡單的程式碼片段中,我們建立一個事務,檢索一個物件儲存,然後使用遊標來遍歷物件儲存中的所有記錄。在每次迭代中,我們將遊標的主鍵記錄到控制檯。

游標不需要我們根據鍵來選擇資料;我們可以直接獲取所有資料。另請注意,在迴圈的每次迭代中,你可以使用 cursor.value.foo 從游標物件下的當前記錄中獲取資料。有關完整的可工作示例,請參閱我們的 IDBCursor 示例線上檢視示例)。

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.primaryKey);
      cursor.continue();
    } else {
      console.log("Entries all displayed.");
    }
  };
}

規範

規範
Indexed Database API 3.0
# ref-for-dom-idbcursor-primarykey①

瀏覽器相容性

另見