IDBIndex: getAllKeys() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

IDBIndex インターフェイスの getAllKeys() メソッドは、非同期でインデックス内の全オブジェクトの主キーを取得し、要求オブジェクトの result に設定します。

構文

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

引数

query 省略可

取得するキーを特定するキーもしくは IDBKeyRange です。この値が null または省略された場合は、ブラウザーは無限のキー範囲を用います。

count 省略可

返すレコードの数です。この値が問い合わせ結果のレコード数を超える場合は、ブラウザーは最初のアイテムのみを取得します。この値が 0 未満や 2^32 - 1 超の場合は、TypeError 例外が投げられます。

返値

この操作に関係する今後のイベントが発火する IDBRequest オブジェクトです。

操作に成功した場合は、この要求の result プロパティの値は与えられたクエリーにマッチする全レコード (count が指定された場合は count の値まで) のキーの Array になります。

例外

このメソッドは、以下の種類のいずれかの DOMException を投げる可能性があります。

TransactionInactiveError DOMException

この IDBIndex のトランザクションが実行中でないとき投げられます。

InvalidStateError DOMException

この IDBIndex が削除されたか取り除かれたとき投げられます。

引数 count0 から 2^32 - 1 の範囲 (両端を含む) 外のときは、TypeError 例外が投げられます。

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

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報