私は linq2indexedDB ラッパーを使用して IndexedDB を操作しています。私は TypeScript で作業していますが、それが問題に実際に関連しているとは思いません。少し奇妙な構文を説明するだけです。DB を作成し、いくつかのオブジェクト ストアとインデックスを追加します (ポイントを維持するためにコードを短くしています)。
var databaseDefinition = [{
version: config.version,
objectStores: [
{ name: "Regions", objectStoreOptions: { autoIncrement: false, keyPath: "ID" } },
{ name: "Countrys", objectStoreOptions: { autoIncrement: false, keyPath: "ID" } }
// etc.
],
indexes: [
{ objectStoreName: "Countrys", propertyName: "RegionID", indexOptions: { unique: true, multirow: false } }
// etc.
]
}];
これは機能し、chrome F12 ツールで db 構造を調べると、期待される objectStores を確認できます。次に、簡単な挿入操作を試みます。
var region = serverData.Regions[0];
this.db.linq.from("Regions").insert(region, region.ID).then((args) => {
tracer.Trace("Insert success: " + args);
}, (args) => {
tracer.Trace("Insert failure: " + args);
});
これは失敗しますが、args
返されるオブジェクトは定義されていないため、理由がわかりません。問題の内容と、それを追跡する方法を説明できる人はいますか?
編集(問題に厳密には関連していないため、追加のコードを削除しました。以下のクリストフの回答で説明されているように、ログを有効にすると、問題を追跡するのに役立ちました。これは、以下の私自身の回答で解決されます)。