IDBIndex.getAll()

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 getAll() de l'interface IDBIndex fait une requête (IDBRequest) qui renvoie un tableau ordonné suivant les clés, des clones structurés des enregistrements de l'index relié (IDBIndex). On peut limiter le nombre d'enregistrements en les filtrant suivant leurs clés ou en paramétrant le compteur.

On peut comparer cette méthode avec une recherche par curseur. Effectivement, il est plus intéressant si l'on veut accéder aux enregistrements un par un d'utiliser un curseur, les clones structurés des valeurs seront faits un par un. Mais si l'on veut un tableau des clones structurés des valeurs il vaut mieux utiliser getAll(), le moteur Gecko fera les clones structurés en une seule fois.

Syntaxe

js
var getAllKeysRequest = IDBIndex.getAll();
var getAllKeysRequest = IDBIndex.getAll(query);
var getAllKeysRequest = IDBIndex.getAll(query, count);

Paramètres

query Facultatif

Une clé ou un intervalle de clé (IDBKeyRange) pour filtrer, seules les valeurs des enregistrements correspondant sont renvoyées. Par défaut toutes les clones structurés des enregistrements de l'index relié sont renvoyés.

count Facultatif

Le nombre d'enregistrement maximum renvoyés. Un nombre décimal sera tronqué. Zéro annule le compteur et toutes les valeurs sont retournées.

Valeur de retour

IDBRequest

La propriété result de cette requête renvoie le tableau des clones structurés des enregistrements en cas de succès.

Exceptions

TransactionInactiveError

Cette exception est levée si la transaction (IDBTransaction) est inactive.

DataError

Cette exception (DOMException) est levée si la clé ou l'intervalle de clé (IDBKeyRange) est invalide.

InvalidStateError

Cette exception (DOMException) est levée si l'index à été supprimé.

TypeError

Cette exception (DOMException) est levée si le compteur n'est pas un nombre positif.

Exemples

js
//on récupère l’accès à l'index
var myIndex = objectStore.index("index");
//on fait une requête de recherche sur l'index
var getAllKeyRequest = myIndex.getAllKeys();
//si la requête réussi
getAllKeysRequest.onsuccess = function () {
  //on affiche le résultat sur la console
  //~= [{key:'a',value:un_clone_structuré},{key:'2',value:un_clone_structuré},...]
  console.log(getAllKeysRequest.result);
};

Spécifications

Specification
Indexed Database API 3.0
# ref-for-dom-idbindex-getall①

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi