IDBObjectStore.getAllKeys()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

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

js
var request = objectStore.getAllKeys();
var request = objectStore.getAllKeys(query);
var request = objectStore.getAllKeys(query, count);

Parameters

query Facultatif

Une valeur qui est (ou se résoud) en un intervalle de clés (IDBKeyRange).

count Facultatif

Une valeur qui définit le nombre de valeurs à renvoyer si plusieurs correspondent. Cette valeur doit être supérieure à 0 ou inférieure à 2^32-1, sinon une exception TypeError sera 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

BCD tables only load in the browser

Voir aussi