私は数ヶ月前に春とmongodbを使い始めました。今まで、Mongotemplate または MongoRepository を使用して複数のコレクションからデータを取得する方法がわかりません。Person と Contacts の 2 つのコレクションがあります。連絡先とともに Customer のリストを取得したいと考えています。Customer は is is _id を持ち、Contact はリレーション ID is customerId を持っているので、データの顧客連絡先の詳細を取得するにはどうすればよいですか。
1 に答える
0
データには非正規化が必要です。MongoDB の方法を考えてください。対応する「連絡先」とともに「個人/顧客」データを保存する必要があります。これは 1:n の種類の関連付けです。次のスキーマに必要なデータを簡単に保存できます。以下は、「連絡先」の詳細を埋め込んだサンプルの「個人/顧客」ドキュメントです=>
{
name:"abc",
age: 35,
Contact:{[email:"abc1@gmail.com",mobile:123],[email:"abc2@gmail.com",mobile:234]}
}
前述のようにデータを正規化することになると、MongoDB が提供する強力な埋め込み機能を捨てて、コード内で結合を行うことになる傾向があります。
于 2014-11-11T13:55:36.213 に答える