2017-03-31 31 views
0

mongoDBの1対多の関係に関する簡単な質問があります。私はこの前に主にSQLを使用していましたので、関係にアプローチする方法を混乱させました。私はすべてのドキュメントをオンラインで見てきましたが、1対多の関係をセットアップしてクエリする方法の良い例はありません。1対多の関係mongoDB

私はユーザーのテーブルがあり、各ユーザーには多くの製品があります。これは、SQLの状況では、テーブル内の複数の製品が同じユーザーforeign_keyを持つことを意味します。 mongoDBでは、私はこれを複製するために、各ユーザーのオブジェクトIDを、対応する製品に配置して、外部キーのように売っているようにしました。

私はそれをどのようにクエリするのか混乱しています。たとえば、SELECT * FROM USERS、PRODUCTS WHERE USER_ID = USERFK_ID;をどのようにすればいいですか?

Iveはドキュメント参照、埋め込みドキュメントについて読んでいますが、それはもっと混乱します。誰もがまっすぐな説明をしてください。

答えて

0

私はあなたの質問を理解したと仮定して、ユーザーコレクションと製品コレクションを用意します。

ユーザーコレクションにはユーザーとその詳細が含まれます。例えば。

{ID: '007'、名: 'ジョン'} { ID: '010'、名前: 'ポール'}

製品のコレクションは、特定のユーザーにリンクされている製品が含まれます。例えば。

{ID: '432738'、名前: 'りんご'、価格: '100'、所有者 '007'}つまり所有者が問い合わせを関連としてジョン

ですが、私はこのような何かを行います。

db.collection(「製品」)({所有者:user_id_here})を見つける。

0

親ドキュメントは、多くの子ドキュメントを持つことができる場所を1対多の関係であるが、子文書は一つだけを持つことができます親文書。

db.artists.insert( { _id:3、 artistname: "モービー"、 アルバム:[ { アルバム:、 "再生" 年:1999、 ジャンル: "エレクトロニカ" } 、 { アルバム: "ロングAmbients 1:穏やかな睡眠。"、 年:2016、 ジャンル: "周囲" } ] } )