La méthode count()
, rattachée à l'interface IDBObjectStore
, renvoie un objet IDBRequest
et, dans un thread séparé, renvoie le nombre d'enregistrements qui correspondent à la clé ou à l'intervalle de clé (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.
Syntaxe
var requete = ObjectStore.count(optionalKeyRange);
Paramètres
optionalKeyRange
- Une clé ou un intervalle de clé (
IDBKeyRange
) qui indique le critère de comptage des enregistrements.
Valeur de retour
Un objet IDBRequest
sur lequel seront déclenchés les différents évènements relatifs à l'opération.
Exceptions
Cette méthode peut déclencher une exception DOMException
ayant un des types suivants :
Exception | Description |
---|---|
InvalidStateError |
L'objet IDBObjectStore a été supprimé. |
TransactionInactiveError |
La transaction associée à l'objet IDBObjectStore est inactive. |
DataError |
La clé ou l'intervalle de clé passé en argument est invalide. |
Exemples
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écifications
Spécification | État | Commentaires |
---|---|---|
Indexed Database API La définition de 'count()' dans cette spécification. |
Recommendation |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Support simple | 23webkit 24 |
(Oui) | 10 moz 16.0 (16.0) |
10 | 15 | 7.1 |
Disponible dans les web workers | (Oui) | ? | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Webview Android | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome pour Android |
---|---|---|---|---|---|---|---|---|---|
Support simple | 4.4 | (Oui) | (Oui) | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 | (Oui) |
Disponible dans les web workers | Pas de support | (Oui) | ? | 37.0 (37.0) | (Oui) | ? | (Oui) | ? | (Oui) |
Voir aussi
- Utiliser IndexedDB
- Initier une connexion :
IDBDatabase
- Utiliser les transactions :
IDBTransaction
- Définir un intervalle de clés :
IDBKeyRange
- Récupérer et modifier les données :
IDBObjectStore
- Utiliser les curseurs
IDBCursor
- Exemple de référence : To-do Notifications (exemple live).