IDBIndex.getAll()
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
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
//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