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
var request = objectStore.clear();
Renvoie
Une requête
.
Exceptions
ReadOnlyError
-
Cette
exception
est levé si la transaction associé à cette requête est enmode
lecture seule. TransactionInactiveError
-
Cette
exception
est levé si latransaction
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
.
//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