IDBObjectStore: getAll() メソッド
IDBObjectStore
インターフェイスの getAll()
メソッドは、指定の引数にマッチするすべてのオブジェクト、または引数が与えられない場合はすべてのオブジェクトが入った IDBRequest
オブジェクトを返します。
値が正常に見つかった場合は、その構造化複製を作成し、要求オブジェクトの result
に設定します。
このメソッドは、以下の場合に同じ結果になります。
- レコードがデータベースに存在しない場合
- レコードの値が
undefined
の場合
これらを区別するには、以下のメソッドを使用できます。
openCursor()
メソッドを同じキーで使用します。このメソッドはレコードが存在すればカーソルを返し、存在しなければカーソルを返しません。count()
メソッドを同じキーで使用します。このメソッドは行が存在すれば 1 を、存在しなければ 0 を返します。
構文
getAll()
getAll(query)
getAll(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
が削除されたか取り除かれたとき投げられます。 TypeError
-
引数
count
が0
から2^32 - 1
の範囲 (両端を含む) にないとき投げられます。
仕様書
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbobjectstore-getall① |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キー範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)