IDBObjectStore: 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.

IDBObjectStore インターフェイスの getAllKeys() メソッドは、オブジェクトストア内の指定の引数にマッチするすべてのオブジェクトに対応するレコードキー、もしくは引数が与えられない場合はすべてのオブジェクトに対応するレコードキーを取得する IDBRequest を返します。

値が正常に見つかった場合は、その構造化複製を作成し、要求オブジェクトの result に設定します。

このメソッドは、以下の場合に同じ結果になります。

  • レコードがデータベースに存在しない場合
  • レコードの値が undefined の場合

これらを区別するには、openCursor() を同じキーで呼ぶ必要があります。このメソッドは、レコードが存在すればカーソルを返し、存在しなければカーソルを返しません。

構文

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

引数

query 省略可

IDBKeyRange またはそれに解決される値です。

count 省略可

複数の値が見つかったときに返す値の数を指定します。0 未満や 2^32 - 1 超の場合は、TypeError 例外が投げられます。

返値

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

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

例外

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

TransactionInactiveError DOMException

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

DataError DOMException

与えられたキーまたはキー範囲が無効なキーを含むか null であるとき投げられます。

InvalidStateError DOMException

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

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報