IDBObjectStore.getAll()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis janvier 2020.
La méthode getAll(), rattachée à l'interface IDBObjectStore, renvoie un objet IDBRequest contenant tous les objets du magasin d'objets qui correspondent au paramètre indiqué, ou tous les objets du magasin si aucun paramètre n'a été fourni.
Si une valeur a été trouvée, un clone structuré est créé et fourni comme résultat sur l'objet de la requête.
Cette méthode produit les mêmes résultats pour :
- Un enregistrement qui n'existe pas en base de données
- Un enregistrement qui a une valeur indéfinie
Pour distinguer ces situations, on pourra appeler une de ces deux méthodes :
openCursor()en utilisant la même clé. Cette méthode fournira un curseur si l'enregistrement existe et pas de curseur sinon.count()en utilisant la même clé, qui renverra 1 si la ligne existe et 0 sinon.
Syntaxe
getAll();
getAll(query);
getAll(query, count);
Paramètres
queryFacultatif-
Une clé ou un intervalle de clés (
IDBKeyRange) pour la requête. Si aucune valeur n'est passée, la valeur par défaut sera un intervalle de clé qui sélectionne tous les enregistrements du magasin d'objets. countFacultatif-
Indique le nombre de valeurs à renvoyer si plusieurs valeurs sont trouvées. Si cet argument est négatif ou supérieur à
2^32 - 1, une exceptionTypeErrorsera levée.
Valeur de retour
Un objet IDBRequest sur lequel les évènements suivants cette opération seront déclenchés.
Exceptions
Cette méthode peut déclencher une exception DOMException avec l'un des types suivants :
TransactionInactiveError-
Levée si la transaction sur l'objet
IDBObjectStoreest inactive DataError-
Levée si la clé ou l'intervalle de clés fourni contient une clé invalide ou est nul.
InvalidStateError-
Levée si le magasin d'objets
IDBObjectStorea été supprimé ou retiré. TypeError-
Levée si le paramètre
countn'est pas compris entre0et2^32 - 1au sens large.
Spécifications
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-getall①> |
Compatibilité des navigateurs
Chargement…
Voir aussi
- Utiliser l'API IndexedDB
- Initier des transactions :
IDBDatabase - Utiliser des transactions :
IDBTransaction - Définir un intervalle de clés :
IDBKeyRange - Récupérer et modifier les données :
IDBObjectStore - Utiliser les curseurs :
IDBCursor - Exemples : Notifications d'une liste de tâches (voir l'exemple qui fonctionne)