IDBObjectStore.clear()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
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
var request = objectStore.clear();
Renvoie
Une requête.
Exceptions
ReadOnlyError-
Cette
exceptionest levé si la transaction associé à cette requête est enmodelecture seule. TransactionInactiveError-
Cette
exceptionest levé si latransactionde l'accèsau 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.
//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
Chargement…