Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

IDBObjectStore.delete()

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 delete() de l'interface IDBObjectStore interface fait une requête de suppression d'enregistrement(s) du magasin d'objet relié.

Note : This feature is available in Web Workers.

Syntaxe

var request = objectStore.delete(cle);

Paramètre

cle
La clé ou l'intervalle de clé d'enregistrement(s) à supprimer.

Renvoie

Une requête.
La propriété result de cette requête renvoie undefined en cas de succès.

Exceptions

TransactionInactiveError
Cette exeception est levé si la transaction est inactive.
ReadOnlyError
Cette exeception est levé si la transaction est en mode lecture seule.
InvalidStateError
Cette exeception est levé si le magasin d'objet a été supprimé.
DataError
Cette exeception est levé si la clé ou l'intervalle de clé n'est pas valide.

Exemple

Dans le code suivant , on ouvre un transaction sur la connexion à la base de données pour avoir l'accès au magasin d'objet duquel on veut supprimer un enregistrement.

La méthode delete() sert à supprimer l’enregistrement dont la clé est Walk dog du magasin d'objet toDoList

// ouvre la connexion à la base de données
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

// Gère l'ouverture de la connexion
DBOpenRequest.onsuccess = function(event) {
  note.innerHTML += '<li>Base de donnée initialisé</li>';
    
  // affecte la connexion dans la variable db
  db = DBOpenRequest.result;
    
  // exécute la fonction deleteData()
  deleteData();
};

function deleteData() {
  // ouvre un transaction en mode lecture/écriture pour effectuer la suppression 
  var transaction = db.transaction(["toDoList"], "readwrite");

  // affiche le succès de la transaction.
  transaction.oncomplete = function(event) {
    note.innerHTML += '<li>Transaction effectuée: fin de la modification de la base de données.</li>';
  };

  // affiche la cause de l’échec de la transaction.
  transaction.onerror = function(event) {
    note.innerHTML += '<li>Échec de la transaction: ' + transaction.error + ' la base de donnée n\'a pas été modifié</li>';
  };

  // ouvre un accès au magasin d'objet toDoList
  var objectStore = transaction.objectStore("toDoList");

  // supprime l'enregistrement dont la clé est Walk dog
  var objectStoreRequest = objectStore.delete("Walk dog");

  
  objectStoreRequest.onsuccess = function(event) {
    // affiche le succès de la suppression 
    note.innerHTML += '<li>Enregistrement supprimé.</li>';
  };
};

Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

Spécification

Spécification Statut Commentaire
Indexed Database API
La définition de 'delete()' 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, en partie 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 basique 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,