問題タブ [commutativity]
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.
database - MongoDB で可換重複を回避する
バックグラウンド
MongoDB データベースを使用して、医薬品情報が保存される医療アプリケーションを構築しています。このデータベースにはいくつかのコレクションがあり、そのうちの 1 つはペアワイズ薬物相互作用用です。私に提供されたデータは、薬剤ごとのものです。つまり、AがB、C、およびDと相互作用する薬物である場合(A,B)、 、(A,C)、およびのペアが得られ(A,D)ます。ただし、薬B、C、およびD(B,A)の入力データをなどの形式で解析すると、同じ情報が再び得られます。
もちろん、対応する医療情報は同一です (つまり、AがBと相互作用する場合、 BがAと相互作用する場合と同じ反応が生成されます)。
コレクション構造
コレクションは、それぞれが、、およびdocumentの 3 つのフィールドを持つように構成されています。name1name2description
コレクションを初めて作成してデータを入力するときに、このコレクションにインデックスを付け(name1, name2)て、重複として扱われるようにする方法はありますか(name2, name1)(両方とも同じになるためdescription)。このような重複をコレクションに挿入したくありません。
PS MongoDB 4.0.3 でMongoDB Java Driver 3.8を使用しています。
PPS サンプル ドキュメントとテーブル インデックス情報を以下に追加:
と に昇順のインデックスがname1ありname2、 にテキスト インデックスがありますdescription。上記のドキュメントは、レピルジンについて挿入されています。セントジョーンズワートに関する次のドキュメントを挿入することは避けたい: