IDBObjectStore.openKeyCursor()

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 openKeyCursor() de l'interface IDBObjectStore fait une requête récursive suivant un curseur qui itère le magasin d'objet relié.

Syntaxe

var reques = objectStore.openKeyCursor(optionalKeyRange, optionalDirection);

Paramètres

optionalKeyRange 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 default  le curseur se deplace sur l'ensemble des clés du magasin d'objet.
optionalDirection 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 ou l'index à été supprimé.

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 openKeyCursor() 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.openKeyCursor();
request.onsuccess = function() {
  var cursor = request.result;
  if(cursor) {
    // cursor.key la clé de l'enregistrement à la position du curseur
    // il n'y as pas de cursor.value contrairement à openCursor()
    console.log(cursor.key);
    //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

Specification Status Comment
Indexed Database API (Second Edition)
La définition de 'openKeyCursor' dans cette spécification.
Recommendation  

Compatibilité avec les navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique 48.0 27.0 (27.0) 10, partial 15 7.1
           
Fonctionnalité Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Support basique 4.4 ? 27.0 (27.0) 1.0.1 10 22 Pas de support ?
Unprefixed Pas de support 48.0           48.0

Voir aussi

Étiquettes et contributeurs liés au document

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