問題タブ [dexie]

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.

0 投票する
2 に答える
73 参照

promise - deferred promise を引き継ぐ Dexie.js デバッグ コードのソリューション

インデックス付きストレージの処理に Dexie.js を使用しています。ただし、延期されたプロミスによって起動されたプロセスの例外処理を引き継ぎます。これにより、バグが発生した場所を特定することが非常に困難になりました。

0 投票する
1 に答える
231 参照

dexie - Dexie 更新フックの非同期変更

オブジェクトが保存または変更されたときにフックを使用してオブジェクトにいくつかのフィールドを追加するための最良の方法を見つけようとしています。

基本的な考え方はentry、いくつかの複雑なクエリと他のエントリの計算に基づく一連のプロパティを含む必要があるオブジェクトがあるということです。これらの計算されたプロパティはすべて、 というプロパティの下に保存されますderivedentry.derived必要なたびに、または DB から読み取られるたびに計算すると、非常にコストがかかります。代わりに、事前にプロパティを設定することを選択しましたが、derivedフックはこれを行うのに最適な場所のようです。

これはcreatingフックには問題ないようです。derivedただし、他のプロパティentryが変更された場合は、再生成する必要もあります。このupdatingフックでは、変更を返すことによって追加の変更を送信する必要があります。これは、変更を生成できる唯一の方法が非同期呼び出しによるものであるため、問題があります。

以下は、問題を実証しようとする最小限のコードです。オプションはBまだ試していませんが、うまくいかないと思います。

0 投票する
1 に答える
231 参照

sorting - 整数値に基づくindexeddbソートインデックス

デクシーを使っています

そして、文番号でソートされた結果を取得する必要があります

しかし、上記のクエリから得られる結果は、整数列を文字列形式でソートするようなものです

例: 1,11,12,13,14...

整数でsentenceNoをソートする方法

例: 1,2,3,4,...

0 投票する
0 に答える
114 参照

angularjs - メソッド「startsWithIgnoreCase」でコールバックが必要です

私はデモ プロジェクトを開発し、「dexie.js」でインデックス付きデータベースを構成しました。問題は、コールバックで関数を呼び出そうとしたときですstartsWithIgnoreCase

AngualrJS サービス:-

コントローラーで、

data常に null を取得し、$rootScope.collectItemこれを初めて null と呼び、常に前の検索項目を表示します。以下、詳細です。

インデックス付きデータベースに最大100個のレコードがあるため、コールバックは機能しません。最初のstartsWithIgnoreCaseメソッドを呼び出すとnullに設定されますが、同じメソッドを呼び出して、以前に検索された一致した値を2回目に表示$rootScope.collectItemしようとしています。$rootScope.collectItemお気に入り:

  1. アイテム番号「441」を入力し、メソッドをstartsWithIgnoreCase初めて呼び出してから$rootScope.collectItemnullを設定したときのオートコンプリート検索ボックス。
  2. 「885」以外の別のアイテムを検索しようとすると、$rootScope.collectItem以前にフィルター処理された「441」のレコードが表示されます。

:コールバックを実装したいのですstartsWithIgnoreCaseが、解決策が見つかりません。

angularjsを使用した「dexie.js」のサンプルコードを誰かが持っている場合は、そのリンクを送ってください。

0 投票する
0 に答える
1885 参照

javascript - Dexie でテーブルを更新する

indexedDB の「Type」という名前のフィールドを Dexie で更新しようとしています

私もこれを試します:

また、それ:

私のフィールド「タイプ」は決して更新されません:(

誰かがそれについて私を助けることができますか?

画像テーブルの詳細

0 投票する
2 に答える
2645 参照

indexeddb - インデックス付きの db で dexie js を使用してレコードを取得します。

テーブルのすべてのレコードから最後の 40 レコードを取得するにはどうすればよいですか。

私の知る限り、インデックス付きデータベースのテーブルに存在するレコードの数を取得できます。

同様に...

上記は、テーブル内のカウントが何であれ返されます。今、テーブルから最後の40レコードを取得したかったのです。毎回テーブルには異なるレコードがあります。そうすることは可能ですか?count で.eachを使用することもできますか !! count を取得したかったのと同様に、キーが保持するデータが何であれ、それらのデータを返して表示する必要があります。

0 投票する
1 に答える
408 参照

indexeddb - データ テーブル Web コンポーネントのバックエンドとしての IndexedDB

並べ替え、フィルタリング、無限スクロールなどをサポートするデータ テーブル/グリッド Web コンポーネントに取り組んでいます。既存のデータ モデルを IndexedDB (Dexie を使用) に置き換えることを検討しています。

私の最初の計画は、単一のデータベースを使用し、各コンポーネントに「テーブル」を用意することでした。ただし、ドキュメントを読んだ後、新しいテーブルが追加されるたびにデータベースのバージョンが上がることに気付きました。

それは何を意味しますか?

  • このバージョン番号を追跡する必要がありますか?
  • グリッドがデータベースを使用していて、別のグリッドがデータベースをアップグレードした場合、データは失われますか?
  • 代わりにコンポーネントごとに DB を使用する方がよいでしょうか?

助けてくれてありがとう

0 投票する
1 に答える
717 参照

javascript - デクシー - テーブルトランザクションの一部ではありません

ノードからツリーを構築する単純なアプリケーションに取り組んでいます。ノードがツリーから削除されると、すべての子ノードが削除され、それらのノードのすべての関連付けも削除されるように、次のフックが設定されています。次のコードを使用して、この動作を試して作成しています。

そして、「未処理の拒否: NotFoundError: テーブルリンクはトランザクションの一部ではありません」というエラーが表示されます。それを確認するためにトランザクション オブジェクトをログに記録し、ソース コードを調べてエラーの原因を調べたところ、storeNames のようです。私のデータベースは次のように構成されています。

しかし、storeNames を調べると、「ノード」しか表示されません。私は Dexie バージョン 2 ベータ 10 を使用しています。これが問題である可能性が非常に高いのですが、これが私の最初の indexeddb プロジェクトであり、dexie が推奨されたため、よくわかりません。すべてのガイドが 2.x の構文を使用しているため、ベータ版を使用しました。

どんな洞察も大歓迎です!

-- 少し遅れて -- 最新の 1.x リリースでこれを再試行したところ、次のエラーが表示されました。 "

では、リリースもベータ版もフックを削除できませんか? それとも、何か間違ったことをしただけですか? 私はこれに従いました。ご覧のとおり、私のフックコードはそこに提供されている例に基づいています。ストアの直後とオープンプロミス内にフックを設定しようとしましたが、何もうまくいかないようです。データベース全体を数回スキャンして、最終的にルートに接続しないノードを見つけるよりも、カスケード削除のようなものを使用したいと思います (笑)。

--edit: トランザクション ブロックを使用し、トランザクションに両方のテーブルを含めた後、そこから削除を実行することで、この問題を解決できることがわかりました。問題は、ここで書いたフック コードで使用されているトランザクションが、トランザクションに関係するテーブル以外のテーブルを認識していないことです。