IDBObjectStore.getAll()
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
query
Facultatif-
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. count
Facultatif-
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 exceptionTypeError
sera 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
IDBObjectStore
est 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
IDBObjectStore
a été supprimé ou retiré. TypeError
-
Levée si le paramètre
count
n'est pas compris entre0
et2^32 - 1
au sens large.
Spécifications
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbobjectstore-getall① |
Compatibilité des navigateurs
BCD tables only load in the browser
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)