2017-05-11 3 views
0

Das folgende Code-Snippet zeigt alert("Added") aber nichts wurde der indexDB hinzugefügt. Es gibt einen Eintrag in meiner Indexdatenbank, aber ich kann keine weiteren Einträge hinzufügen.Einfügen in indexDB mit keyPath

var transaction = db.transaction("movies", "readwrite") 
    .objectStore("movies") // keypath is also there :{keyPath: "imdbID"} 
    .add(movieDetailObject); 

    transaction.onsuccess = function(event) { 
     alert("Added"); 
    }; 

    transaction.onerror = function(event) { 
     alert("Error"); 
    } 

Wie kann ich mehr Einträge mit keypath und Objekt als Wert?

+0

'success' und' error' feuern bei Anfragen ab (das Objekt wird von 'add()', 'get()' usw.) 'complete' und' abort' ausgelöst. Fehler werden von den Anforderungen an Transaktionen übersprungen, was die Berichterstellung erleichtert, sind jedoch informativer, wenn Sie verstehen, welche Anforderung fehlgeschlagen ist. Sie werden niemals ein 'Erfolg'-Ereignis bei einer Transaktion sehen. –

Antwort

0

Ohne den umgebenden Code ist es schwer zu sagen, aber der keyPath ist wahrscheinlich für jeden Eintrag gleich.

Nur für eine gute Übung sollten Sie auch die Ereignisse abhören, die auf die von .add(movieDetailObject) zurückgegebene IDBRequest ausgelöst werden können, um zu sehen, ob onsolution oder onerror ausgelöst wird.