私はモンゴにかなり慣れていません。Mongodb をデータベースとして使用するプロジェクトを開始しました。次のユース ケースをドキュメント ベース データベースにどのように設計すればよいかわかりません。
ユーザーケース
1. ベンダー/ディストリビューターは、当社のシステムに製品のリストを持っています。
2. すべての顧客向けに、各製品の標準価格表があります。
3. ベンダー/ディストリビューターは、顧客ごとに各製品の価格表をカスタマイズすることもできます。
例えば。CustA には、標準とは異なる価格設定の productA があり、CustA だけが利用できます。4. 一部の製品はカスタマイズ価格でのみ入手可能であり、それらの製品を属性 public = false と照合します。
ドキュメントベースデータベースでこれをどのように解決すればよいですか?
私が持っている現在のデザインはです。
1. [製品説明書] 標準価格表の文書が埋め込まれています。
2. [ Product_Price Document ] と oneToMany リンク [ Product Document ] および oneToMany から [ Customer Document ]
3. [ Customer Document ]。
このモデルでは、ページングによるクエリの問題に直面しています。
例 名前でソートされた最初の 30 個の製品を照会します。次に、一致する 30 の ProductId を使用して [ Product_Price Document ] をクエリし、ログインした顧客の価格をカスタマイズします。
問題は、すべての人が利用できるわけではないユーザーに合わせてカスタマイズされたアイテムをクエリできなかったところにあります。
より良い方法やスキーマの設計はありますか、またはクエリで何をすべきですか?
PHP、Doctrine2、Symfony2 を使用しています