IDBObjectStore.clear()

La méthode clear() de l'interface IDBObjectStore fait une requête pour vider le magasin d'objet relié.

Vider un magasin d'objet consiste à supprimer tous les enregistrements et les entrées des index de ce magasin d'objet.

Note : La méthode clear() ne remet pas à zero le compteur du génerateur de clé s'il y en à un.

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

Syntaxe

js
var request = objectStore.clear();

Renvoie

Exceptions

ReadOnlyError

Cette exception est levé si la transaction associé à cette requête est en mode lecture seule.

TransactionInactiveError

Cette exception est levé si la transaction de l'accès au magasin d'objet est inactive.

Exemple

Dans le code suivant, on ouvre une connexion à la base de donnée. Sur cette connexion on démarre une transaction en lecture/écriture pour avoir un accès au magasin d'objet "toDoList" et le vider

La méthode clear() de l'accès au magasin d'objet fait une requête pour vider le magasin d'objet toDoList.

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

DBOpenRequest.onsuccess = function (event) {
  note.innerHTML += "<li>Connexion établie.</li>";

  //Affecte la connexion à la variable db.
  db = DBOpenRequest.result;

  // Exécutez la fonction clearData () pour vider les données dans le magasin d'objet
  clearData();
};

function clearData() {
  // ouvre une transaction de lecture / écriture prête pour le nettoyage
  var transaction = db.transaction(["toDoList"], "readwrite");

  // en cas de succès de l'ouverture de la transaction
  transaction.oncomplete = function (event) {
    note.innerHTML +=
      "<li>Transaction complété : modification de la base de données terminée.</li>";
  };

  // en cas d'échec de l'ouverture de la transaction
  transaction.onerror = function (event) {
    note.innerHTML +=
      "<li>Transaction en échec à cause de l'erreur : " +
      transaction.error +
      "</li>";
  };

  // ouvre l'accès au un magasin "toDoList" de la transaction
  var objectStore = transaction.objectStore("toDoList");

  // Vide le magasin d'objet
  var objectStoreRequest = objectStore.clear();

  objectStoreRequest.onsuccess = function (event) {
    // rapporte le succès du nettoyage
    note.innerHTML += "<li>Enregistrements effacées.</li>";
  };
}

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

Spécifications

Specification
Indexed Database API 3.0
# ref-for-dom-idbobjectstore-clear③

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi