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