2016-04-05 10 views
0

2つのIndexedDBオブジェクトストアを持つデータベースを作成しました。 そういう意味で、私はあたかもあきらめのようなものでした。 データベースにはpatientというオブジェクトストアが含まれており、もう1つは証拠と呼ばれ、患者に関連付けられたテストを追加するためのものです。あなたは2 objectStoresとの関係を構築することはできませんのIndexedDB自体でIndexedDBでオブジェクトストアをどのように関連付けることができますか?

Photo DataBase IndexedDb

答えて

0

。 IndexedDBはリレーショナルデータベースシステムではありません。関係が必要な場合は、この関係をJavaScriptコードで実装する必要があります。

あなたは、オブジェクト含む2 objectStoresすなわち持っている場合:

patient = {"number":"1234", name:"Michael Foo"}; // where "number"is the key 
evidence = {"id":"1","content":"yes, its true","patientId":"1234"}; // where "id" is the key 

は、あなたがIndexとして "patientId" を定義することができます。したがって、「patientId」を検索することができます。 両方が必要な場合は、patientのクエリを作成し、 "number"値を使用してインデックス "patientId"のクエリを作成します。だから両方がある。

データフォーム2のオブジェクトストアを削除して、両方のオブジェクトストアの値が削除されることを確認したい場合は、transactionでこれを行うことができます。トランザクションの1つの部分でエラーが発生した場合は、ホールトランザクションをキャンセルしてロールバックすることができます。