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 2020年1月.
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 を投げる可能性があります。
TransactionInactiveErrorDOMException-
この
IDBObjectStoreのトランザクションが実行中でないとき投げられます。 DataErrorDOMException-
与えられたキーまたはキー範囲が無効なキーを含むか
nullであるとき投げられます。 InvalidStateErrorDOMException-
IDBObjectStoreが削除されたか取り除かれたとき投げられます。
仕様書
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-getallkeys①> |
ブラウザーの互換性
Loading…
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase - トランザクションの使用:
IDBTransaction - キー範囲の設定:
IDBKeyRange - データの取得と変更:
IDBObjectStore - カーソルの使用:
IDBCursor - リファレンス例: To-do Notifications (動く例を見る)