IDBObjectStore.openCursor()

Cet article nécessite une relecture technique. Voici comment vous pouvez aider.

Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.

La méthode openCursor() de l'interface IDBObjectStore fait une requête récursive suivant un curseur avec valeur qui itère le magasin d'objet relié.

Note : Cette fonctionnalité est disponible via les Web Workers.

Syntaxe

var request = ObjectStore.openCursor(keyRange, direction);

Paramètres

keyRange Facultatif
L'intervalle de clé sur lequel se déplace le curseur. On peut passer un clé seule qui sera alors considéré comme une intervalle seule. Par défaut le curseur se déplace sur l'ensemble des clés du magasin d'objet.
direction Facultatif
La direction du curseur qui défini le sens d'itération. par défaut "next".

Renvoie

Une requête.
La propriété result de cette requête contient le curseur.

Exceptions

TransactionInactiveError
Cette exception est levé si la transaction est inactive.
DataError
Cette exception est levé si la clé ou l'intervalle de clé est invalide.
InvalidStateError
Cette exception est levé si le magasin d'objet à été supprimé.
TypeError
Cette exception est levé si la valeur de la direction n'est pas valide.

Exemple

Dans ce morceau de code on fait une transaction pour obtenir l'accès au magasin d'objet sur lequel on itère en utilisant un curseur.

La méthode openCursor() initialise la requête récursive qui contiendra le curseur.

//un transaction sur la base de données
var transaction = db.transaction("name", "readonly");

//un accès au magsin d'objet "name"
var objectStore = transaction.objectStore("name");

//Une requête récursive
var request = objectStore.openCursor();
request.onsuccess = function() {
  var cursor = request.result;
  if(cursor) {
    // cursor.value contient la valeur et cursor.key la clé de l'enregistrement à la position du curseur
    //on relance la requête pour la position suivante du curseur
    cursor.continue();
  } else {
    //pas ou plus de curseur , fin d'itération.
  }
};

Spécification

Spécification Statut Commentaire
Indexed Database API
La définition de 'openCursor' dans cette spécification.
Recommendation  

Compatibilité avec les navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique 23webkit
24
10 moz
16.0 (16.0)
10, partial 15 7.1
Disponible dans workers (Oui) 37.0 (37.0) ? (Oui) ?
Fonctionnalité Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Support basic 4.4 22.0 (22.0) 1.0.1 10 22 8
Disponible dans workers (Oui) 37.0 (37.0) (Oui) ? (Oui) ?

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : gadgino
 Dernière mise à jour par : gadgino,