IDBObjectStore.clear()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
clear

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi