files/en-us/web/api/idbobjectstore/count/index.md
{{ APIRef("IndexedDB") }} {{AvailableInWorkers}}
The count() method of the {{domxref("IDBObjectStore")}}
interface returns an {{domxref("IDBRequest")}} object, and, in a separate thread,
returns the total number of records that match the provided key or
{{domxref("IDBKeyRange")}}. If no arguments are provided, it returns the total number
of records in the store.
count()
count(query)
query {{optional_inline}}
An {{domxref("IDBRequest")}} object on which subsequent events related to this operation are fired.
If the operation is successful, the value of the request's {{domxref("IDBRequest.result", "result")}} property is the number of records that match the given query.
This method may raise a {{domxref("DOMException")}} of one of the following types:
InvalidStateError {{domxref("DOMException")}}
TransactionInactiveError {{domxref("DOMException")}}
DataError {{domxref("DOMException")}}
In this simple fragment we create a transaction, retrieve an object store, then count
the number of records in the store using count() — when the success handler
fires, we log the count value (an integer) to the console.
const transaction = db.transaction(["fThings"], "readonly");
const objectStore = transaction.objectStore("fThings");
const countRequest = objectStore.count();
countRequest.onsuccess = () => {
console.log(countRequest.result);
};
{{Specifications}}
{{Compat}}