問題タブ [linq2indexeddb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - linq2indexedDB を使用した IndexedDB への挿入が失敗するのはなぜですか? また、エラーを取得するにはどうすればよいですか?
私は linq2indexedDB ラッパーを使用して IndexedDB を操作しています。私は TypeScript で作業していますが、それが問題に実際に関連しているとは思いません。少し奇妙な構文を説明するだけです。DB を作成し、いくつかのオブジェクト ストアとインデックスを追加します (ポイントを維持するためにコードを短くしています)。
これは機能し、chrome F12 ツールで db 構造を調べると、期待される objectStores を確認できます。次に、簡単な挿入操作を試みます。
これは失敗しますが、args
返されるオブジェクトは定義されていないため、理由がわかりません。問題の内容と、それを追跡する方法を説明できる人はいますか?
編集(問題に厳密には関連していないため、追加のコードを削除しました。以下のクリストフの回答で説明されているように、ログを有効にすると、問題を追跡するのに役立ちました。これは、以下の私自身の回答で解決されます)。
javascript - Linq2IndexedDB でオブジェクトを挿入する方法
単体テスト ( Mocha経由) を介して Linq2IndexedDB (v. 1.0.21) を試していますが、単純な挿入作業を行うことさえできません。(Google Chrome で実行している場合) Linq2IndexedDB.js の 1535 行目で内部例外がスローされます。
Uncaught TypeError: Cannot read property 'version' of undefined
私の単体テストコードは次のようになります。基本的に、「オブジェクトを追加できる」というテストが 1 つあります。
ここで何か間違ったことをしていますか、それとも Linq2IndexedDB (またはその両方) にバグがありますか?
対応するテスト プロジェクトを Githubに配置し、 Karma構成を完備しているため、含まれているテストを簡単に実行できます。Karma の構成は、Chrome がインストールされていることを前提としています。
batch-processing - Linq2indexedDB で一括挿入/更新する方法
この方法で一括挿入すると、パフォーマンスが非常に悪く、Linq2indexedDB でクラッシュします。
ネイティブの indexedDB で非常によく似た処理を行うと、問題なく動作します。
「クライアント」の配列が数 1000 を超えない場合は問題ありませんが、50000 までにハングし、タブがクラッシュします。ネイティブ実装では、50000 をアップサートするのに数秒しかかかりません (Chrome 上)。
つまり、Linq2indexedDB でレコードをバッチ挿入する別の方法がありますか、または Linq2indexedDB は単にバッチ挿入/更新で動作しませんか?