IDBObjectStore.getAllKeys()
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 getAllKeys(), rattachée à l'interface IDBObjectStore, renvoie un objet IDBRequest qui permet de récupérer l'ensemble des clés pour les objets qui correspondent au critère passé en argument (ou les clés de tous les objets du magasin si aucun paramètre n'est fourni).
Si une valeur est trouvée, un clone structurelle sera créé et fourni comme résultat pour la requête.
Cette méthode produira le même résultat pour :
- un enregistrement qui n'existe pas dans la base de données
- un enregistrement qui possède une valeur indéfinie
Pour différencier ces deux situations, on peut appeler la méthode openCursor() avec la même clé. Cette méthode fournit un curseur si l'enregistrement existe et ne fournit aucun curseur s'il n'y a pas d'enregistrement.
Syntaxe
var request = objectStore.getAllKeys();
var request = objectStore.getAllKeys(query);
var request = objectStore.getAllKeys(query, count);
Parameters
queryFacultatif-
Une valeur qui est (ou se résoud) en un intervalle de clés (
IDBKeyRange). countFacultatif-
Une valeur qui définit le nombre de valeurs à renvoyer si plusieurs correspondent. Cette valeur doit être supérieure à
0ou inférieureà 2^32-1, sinon une exceptionTypeErrorsera levée.
Valeur de retour
Un objet IDBRequest pour 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 le type suivant :
| Exception | Description |
|---|---|
TransactionInactiveError |
Le magasin d'objets (IDBObjectStore) associé à
la transaction est inactif.
|
DataError |
La clé ou l'intervalle de clé fourni contient une clé invalide ou est nul. |
InvalidStateError |
Le magasin d'objets (IDBObjectStore) a été
supprimé ou retiré.
|
Spécifications
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-getallkeys①> |
Compatibilité des navigateurs
Chargement…
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).