--- title: IDBObjectStore.count() slug: Web/API/IDBObjectStore/count tags: - API - IDBObjectStore - IndexedDB - Méthode - Reference translation_of: Web/API/IDBObjectStore/count ---
La méthode count(), rattachée à l'interface {{domxref("IDBObjectStore")}}, renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, renvoie le nombre d'enregistrements qui correspondent à la clé ou à l'intervalle de clé ({{domxref("IDBKeyRange")}}) passé en argument. Si aucun argument n'est fourni, la méthode renvoie le nombre total d'enregistrements contenus dans le magasin d'objets.
{{AvailableInWorkers}}
var requete = ObjectStore.count(optionalKeyRange);
optionalKeyRangeUn objet {{domxref("IDBRequest")}} sur lequel seront déclenchés les différents évènements relatifs à l'opération.
Cette méthode peut déclencher une exception {{domxref("DOMException")}} ayant un des types suivants :
| Exception | Description |
|---|---|
InvalidStateError |
L'objet {{domxref("IDBObjectStore")}} a été supprimé. |
TransactionInactiveError |
La transaction associée à l'objet {{domxref("IDBObjectStore")}} est inactive. |
DataError |
La clé ou l'intervalle de clé passé en argument est invalide. |
Dans ce fragment de code, on crée une transaction, on récupère un magasin d'objets puis on compte le nombre d'enregistrements contenus dans ce magasin grâce à la méthode count(). Lorsque l'évènement associé au succès de l'opération est déclenché, on inscrit le résultat dans la console.
var transaction = db.transaction(['fThings'], 'readonly');
var objectStore = transaction.objectStore('fThings');
var countRequest = objectStore.count();
countRequest.onsuccess = function() {
console.log(countRequest.result);
}
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName('IndexedDB', '#widl-IDBObjectStore-count-IDBRequest-any-key', 'count()')}} | {{Spec2('IndexedDB')}} |
| Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Support simple | 23{{property_prefix("webkit")}} 24 |
{{CompatVersionUnknown}} | 10 {{property_prefix("moz")}} {{CompatGeckoDesktop("16.0")}} |
10 | 15 | 7.1 |
| Disponible dans les web workers | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("37.0")}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} |
| Fonctionnalité | Android | Webview Android | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome pour Android |
|---|---|---|---|---|---|---|---|---|---|
| Support simple | 4.4 | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("22.0")}} | 1.0.1 | 10 | 22 | 8 | {{CompatVersionUnknown}} |
| Disponible dans les web workers | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatGeckoMobile("37.0")}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} |