IDBObjectStore.count()
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.
Note : Cette fonctionnalité est disponible via les Web Workers.
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
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbobjectstore-count① |
Compatibilité des navigateurs
BCD tables only load in the browser
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).