IDBObjectStore.indexNames

La propriété indexNames, rattachée à l'interface IDBObjectStore, renvoie la liste des noms des index pour les objets du magasin d'objets courant.

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

Syntaxe

var myindexNames = objectStore.indexNames;

Valeur

Une liste DOMStringList.

Exemples

Dans l'exemple suivant, on initialise une transaction de lecture/écriture sur une base de données en ajoutant des données dans un magasin d'objets via la méthode add(). Une fois l'objet créé, on affiche objectStore.indexNames en sortie de la console. Pour un exemple complet et fonctionnel, vous pouvez utiliser notre application To-do Notifications (tester la démo).

// On commence par ouvrir la base de données 
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

DBOpenRequest.onsuccess = function(event) {
  note.innerHTML += '<li>Base de données initialisée.</li>';
    
  // On enregistre le résultat de l'ouverture 
  // dans la variable db afin de l'utiliser 
  // ensuite 
  db = this.result;
    
  // On exécute la fonction addData() afin 
  // d'ajouter des données à la base de données
  addData();
};

function addData() {
  // On crée un nouvel objet prêt à être inséré
  // dans la base de données 
  var newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ];

  // On ouvre une transaction en lecture/écriture
  // vers la base de données afin d'ajouter des 
  // données 
  var transaction = db.transaction(["toDoList"], "readwrite");

  // On indique le succès de la transaction 
  transaction.oncomplete = function(event) {
    note.innerHTML += '<li>Transaction terminée : modification finie.</li>'; 
  };


  transaction.onerror = function(event) {
    note.innerHTML += '<li>Transaction non-ouverte à cause d'une erreur. Les doublons ne sont pas autorisés.</li>'; 
  };

  // On crée un magasin d'objet pour la transaction
  // et on affiche indexNames dans la console 
  var objectStore = transaction.objectStore("toDoList");
  console.log(objectStore.indexNames);

  // On ajoute l'objet newItem au magasin d'objets 
  var objectStoreRequest = objectStore.add(newItem[0]);

  objectStoreRequest.onsuccess = function(event) {
    // On indique le succès de l'ajout de l'objet
    // dans la base de données 
    note.innerHTML += '<li>Un nouvel élément a été ajouté dans la base de données.</li>'; 
  };
};

Spécifications

Spécification État Commentaires
Indexed Database API
La définition de 'indexNames' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 23webkit
24
(Oui) 10 moz
16.0 (16.0)
10 15 7.1
Disponible dans les web workers (Oui) ? 37.0 (37.0) ? (Oui) ?
Fonctionnalité Android Webview Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome pour Android
Support simple 4.4 (Oui) (Oui) 22.0 (22.0) 10 22 8 (Oui)
Disponible dans les web workers (Oui) (Oui) ? 37.0 (37.0) ? (Oui) ? (Oui)

Voir aussi

Étiquettes et contributeurs liés au document

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