--- title: IDBObjectStore.deleteIndex() slug: Web/API/IDBObjectStore/deleteIndex translation_of: Web/API/IDBObjectStore/deleteIndex ---
{{ APIRef("IndexedDB") }}
La méthode deleteIndex()
de l'interface {{domxref("IDBObjectStore")}} supprime l'index dont le nom est passé en paramètre, du magasin d'objet relié ({{domxref("IDBObjectStore")}}).
Note: Cette méthode ne peut être appelée que si la transaction ({{domxref("IDBTransaction")}}) de l'accès ({{domxref("IDBObjectStore")}}) au magasin d'objet est en mode ({{domxref("IDBTransaction.mode")}}) versionchange. Les propriétés indexNames ({{domxref("IDBObjectStore.indexNames")}}) des accès au magasin d'object seront aussi mises à jour.
{{AvailableInWorkers}}
objectStore.deleteIndex(nomIndex);
Void.
InvalidStateError
versionchange
.TransactionInactiveError
Dans les versions de Firefox antérieur à 41, une InvalidStateError
est levée dans ce cas aussi, ce qui est trompeur. Cela a été corrigé (voir bug 1176165).
NotFoundError
Dans l'exemple suivant on peut voir le gestionnaire d'événement {{domxref("IDBOpenDBRequest.onupgradeneeded","onupgradeneeded
")}} être utilisé pour mettre à jour la structure de la base de données quand un numéro de version supérieure est chargé.
Des méthode deleteIndex()
sont utilisées pour supprimer d'anciens index du magasin d'objet toDoList
.
var db; // Requête d'ouverture de la base de données "toDoList" var DBOpenRequest = window.indexedDB.open("toDoList", 4); // Gère l'échec de l'ouverture de la base DBOpenRequest.onerror = function(event) { note.innerHTML += '<li>La base de donnée n\'as pas peut être ouverte.</li>'; }; // Gère le succès de l'ouverture de la base DBOpenRequest.onsuccess = function(event) { note.innerHTML += '<li>La base de données est ouverte.</li>'; // db = request.result; // Exécute une fonction d'affichage displayData() displayData(); }; // Ce gestionnaire d'événement nécessite un nouveau numéro de version de la base de données. // Si la base n'existe pas un nouveau numéro de version est généré par la méthode d'ouverture de connexion window.indexDB.open . DBOpenRequest.onupgradeneeded = function(event) { db.onerror = function(event) { note.innerHTML += '<li>Erreur de chargement de la base de données.</li>'; }; // L'Accès au magasin d'objet "toDoList" de la base de données var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" }); // Met en place les index du magasin d'objet objectStore.createIndex("heures", "hours", { unique: false }); objectStore.createIndex("minutes", "minutes", { unique: false }); objectStore.createIndex("jour", "day", { unique: false }); objectStore.createIndex("mois", "month", { unique: false }); objectStore.createIndex("annee", "year", { unique: false }); objectStore.createIndex("notifiee", "notified", { unique: false }); //supprime des index du magasin d'objet objectStore.deleteIndex("secondes"); objectStore.deleteIndex("contact"); };
Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).
Spécification | État | Commentaires |
---|---|---|
{{SpecName('IndexedDB', '#widl-IDBObjectStore-deleteIndex-void-DOMString-indexName', 'deleteIndex()')}} | {{Spec2('IndexedDB')}} |
{{Compat("api.IDBObjectStore.deleteIndex")}}