objectStore を作成したときに、以下を正常に追加しました。
{ name: "John Doe", age: 21 }
オプションを使用しました:
{ keyPath: "id", autoIncrement: true }
そのレコードを見つけることができ、id = 1
. ただし、以下のコマンドを実行すると、エラーがスローされます。
var store = db.transaction( [ "employees" ], "readwrite" ).objectStore( "employees" );
var request = store.put( { name: "John Doe", age: 32 }, 1 );
これはスローします:
DataError: DOM IDBDatabase Exception 0
誰が何が悪いのか知っていますか?キーの指定が間違っていませんか?
アップデート
IndexedDBの仕様では、2 番目のパラメーターを許可する必要があると記載されています。
interface IDBObjectStore {
...
IDBRequest put (any value, optional any key);
...
};
ただし、機能しませんが、これは機能します:
store.put( { name: "John Doe", age: 32, id: 1 } );
それを必要とするのはバグです。私がまだ何か間違ったことをしていない限り。