IDBIndex: getAllKeys() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

IDBIndex 介面的 getAllKeys() 方法會非同步檢索索引中所有物件的**主鍵**,並將它們設定為請求物件的 result

語法

js
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)

引數

query 可選

要檢索的鍵或 IDBKeyRange。如果此值為空或缺失,瀏覽器將使用無邊界鍵範圍。

count 可選

要返回的記錄數。如果此值超過查詢中的記錄數,瀏覽器將僅檢索第一項。如果它低於 0 或大於 2^32 - 1,將丟擲 TypeError 異常。

返回值

一個 IDBRequest 物件,後續與此操作相關的事件會在此物件上觸發。

如果操作成功,請求的 result 屬性的值將是一個 Array,其中包含所有匹配給定查詢的記錄的鍵,最多可達 count 值(如果提供了 count)。

異常

此方法可能會引發以下型別的 DOMException

TransactionInactiveError DOMException

如果此 IDBIndex 的事務處於非活動狀態,則會丟擲此異常。

InvalidStateError DOMException

如果 IDBIndex 已被刪除或移除,則會丟擲此異常。

如果 count 引數不是介於 02^32 - 1 之間(包含),則會丟擲 TypeError 異常。

示例

js
const myIndex = objectStore.index("index");
const getAllKeysRequest = myIndex.getAllKeys();
getAllKeysRequest.onsuccess = () => {
  console.log(getAllKeysRequest.result);
};

規範

規範
Indexed Database API 3.0
# ref-for-dom-idbindex-getallkeys①

瀏覽器相容性

另見