IDBObjectStore: getAll() メソッド

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 インターフェイスの getAll() メソッドは、指定の引数にマッチするすべてのオブジェクト、または引数が与えられない場合はすべてのオブジェクトが入った IDBRequest オブジェクトを返します。

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

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

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

これらを区別するには、以下のメソッドを使用できます。

  1. openCursor() メソッドを同じキーで使用します。このメソッドはレコードが存在すればカーソルを返し、存在しなければカーソルを返しません。
  2. count() メソッドを同じキーで使用します。このメソッドは行が存在すれば 1 を、存在しなければ 0 を返します。

構文

js
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

引数 count0 から 2^32 - 1 の範囲 (両端を含む) にないとき投げられます。

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報