IDBObjectStore: getAllKeys() メソッド
IDBObjectStore
インターフェイスの getAllKeys()
メソッドは、オブジェクトストア内の指定の引数にマッチするすべてのオブジェクトに対応するレコードキー、もしくは引数が与えられない場合はすべてのオブジェクトに対応するレコードキーを取得する IDBRequest
を返します。
値が正常に見つかった場合は、その構造化複製を作成し、要求オブジェクトの result
に設定します。
このメソッドは、以下の場合に同じ結果になります。
- レコードがデータベースに存在しない場合
- レコードの値が
undefined
の場合
これらを区別するには、openCursor()
を同じキーで呼ぶ必要があります。このメソッドは、レコードが存在すればカーソルを返し、存在しなければカーソルを返しません。
構文
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
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キー範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)