IDBObjectStore: count() メソッド
IDBObjectStore
インターフェイスの count()
メソッドは、IDBRequest
オブジェクトを返し、別スレッドで、指定されたキーまたは IDBKeyRange
にマッチするレコードの総数を返します。引数が指定されない場合は、オブジェクトストア内の全レコードの数を返します。
メモ: この機能はウェブワーカー内で利用可能です。
構文
js
count()
count(query)
引数
query
省略可-
数えたいレコードの範囲を指定するキーまたは
IDBKeyRange
オブジェクトです。
返値
この操作に関係する今後のイベントが発火する IDBRequest
オブジェクトです。
操作に成功した場合は、この要求の result
プロパティの値は与えられたクエリーにマッチするレコードの数になります。
例外
このメソッドは、以下の種類のいずれかの DOMException
を投げる可能性があります。
InvalidStateError
DOMException
-
この
IDBObjectStore
が削除されているとき投げられます。 TransactionInactiveError
DOMException
-
この
IDBObjectStore
のトランザクションが実行中でないとき投げられます。 DataError
DOMException
-
指定されたキーまたはキー範囲が無効であるとき投げられます。
例
このシンプルな断片では、トランザクションを生成し、オブジェクトストアを取得し、count()
を用いてオブジェクトストア内のレコードを数えます。success
ハンドラーが実行された時、コンソールにカウント値 (整数) を記録します。
js
const transaction = db.transaction(["fThings"], "readonly");
const objectStore = transaction.objectStore("fThings");
const countRequest = objectStore.count();
countRequest.onsuccess = () => {
console.log(countRequest.result);
};
仕様書
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbobjectstore-count① |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キー範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)