私は MongoDB を初めて使用し、使用されているデータ モデリング パラダイムを先取りしようとしています。
少し背景を説明した方が良いと思います。私が顧客に物を売る会社だとしましょう。しかし、私の商品の価格は固定されていません。購入ごとに繰り返される物々交換のシーケンスがあります。(つまり、私の会社は価格を見積もり、彼らはカウンターオファー、私の会社のカウンターカウンターオファーなど). 私のデータベースの目的は、取引の進展を保存することです。私の会社には、さまざまなオプションで反対提案する能力があります。ユニーク顧客数は 1000 人未満です。そのため、次の設定があります。
{
customer_id : Number
unique_deal_id: Number
parent_unique_deal_id: Number
child_unique_deal_id's: [Number]
deal : {
// info on price of each good negotiated
}
}
私のクエリの 100% が a) 特定の取引の取得、または b) 取引の「ブランチ」の取得に関係している場合、MongoDB では、顧客を正規化して独自のコレクションに分離しようとするか、すべてを単一のコレクション (およびインデックスの顧客)?