IDBObjectStore: delete() Methode
        
        
          
                Baseline
                
                  Widely available
                
                
              
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die delete()-Methode des IDBObjectStore-Interfaces gibt ein IDBRequest-Objekt zurück und löscht in einem separaten Thread den angegebenen Datensatz oder die Datensätze.
Entweder kann ein Schlüssel oder ein IDBKeyRange übergeben werden, sodass ein oder mehrere Datensätze aus einem Speicher gelöscht werden können. Um alle Datensätze in einem Speicher zu löschen, verwenden Sie IDBObjectStore.clear.
Beachten Sie, dass wenn Sie einen IDBCursor verwenden, Sie die IDBCursor.delete()-Methode verwenden können, um effizienter den aktuellen Datensatz zu löschen - ohne den Schlüssel des Datensatzes explizit nachschlagen zu müssen.
Syntax
delete(key)
Parameter
key- 
Der Schlüssel des zu löschenden Datensatzes oder ein
IDBKeyRange, um alle Datensätze mit Schlüsseln im Bereich zu löschen. 
Rückgabewert
Ein IDBRequest-Objekt, an dem nachfolgende Ereignisse im Zusammenhang mit dieser Operation ausgelöst werden.
Wenn die Operation erfolgreich ist, ist der Wert der result-Eigenschaft der Anfrage undefined.
Ausnahmen
Diese Methode kann eine DOMException der folgenden Typen auslösen:
TransactionInactiveErrorDOMException- 
Wird ausgelöst, wenn die Transaktion dieses Objekt-Speichers inaktiv ist.
 ReadOnlyErrorDOMException- 
Wird ausgelöst, wenn der Transaktionsmodus des Objekt-Speichers schreibgeschützt ist.
 InvalidStateErrorDOMException- 
Wird ausgelöst, wenn der Objekt-Speicher gelöscht wurde.
 DataErrorDOMException- 
Wird ausgelöst, wenn
keykein gültiger Schlüssel oder ein Schlüsselbereich ist. 
Beispiele
Der folgende Codeausschnitt zeigt die deleteItem()-Funktion, die Teil der Beispiel-App "To-do Notifications" ist. Diese App speichert To-do-Listen-Elemente mit IndexedDB. Sie können den vollständigen Code der App auf GitHub sehen und die App live ausprobieren.
Die deleteItem()-Funktion wird aufgerufen, wenn der Benutzer auf die Schaltfläche klickt, um ein To-do-Listen-Element zu löschen. Der Elementschlüssel wird im Datenattribut 'data-task' der Schaltfläche festgelegt, sodass die Funktion weiß, welches Element zu löschen ist. Die Funktion öffnet eine Datenbanktransaktion, um das Element mit seinem Schlüssel zu löschen. Wenn die Transaktion abgeschlossen ist, aktualisiert die Funktion die Benutzeroberfläche der App, um anzuzeigen, dass das Element gelöscht wurde.
Beachten Sie, dass in dieser Funktion db eine globale Variable ist, die auf ein IDBDatabase-Objekt verweist, das beim Laden der App initialisiert wird.
function deleteItem(event) {
  // retrieve the name of the task we want to delete
  let dataTask = event.target.getAttribute("data-task");
  // open a database transaction and delete the task, finding it by the name we retrieved above
  let transaction = db.transaction(["toDoList"], "readwrite");
  let request = transaction.objectStore("toDoList").delete(dataTask);
  // report that the data item has been deleted
  transaction.oncomplete = () => {
    // delete the parent of the button, which is the list item, so it no longer is displayed
    event.target.parentNode.parentNode.removeChild(event.target.parentNode);
    note.appendChild(document.createElement("li")).textContent =
      `Task "${dataTask}" deleted.`;
  };
}
Spezifikationen
| Specification | 
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-delete①>  | 
            
Browser-Kompatibilität
Loading…
Siehe auch
- Verwendung von IndexedDB
 - Transaktionen starten: 
IDBDatabase - Nutzung von Transaktionen: 
IDBTransaction - Festlegen eines Schlüsselbereichs: 
IDBKeyRange - Abrufen und Ändern Ihrer Daten: 
IDBObjectStore - Verwendung von Cursoren: 
IDBCursor - Referenzbeispiel: To-do Notifications (Beispiel live ansehen).