2017-02-05 25 views
1

私はこの例のためにのみ埋め込まれた文書を使用する必要がある場合はわからない:mongodbデータモデルデザイン - 埋め込みドキュメントのみ?

  1. 私は、ユーザー
  2. のための基本的なモデルを持っているすべてのユーザーは、すべてのページが複数のセッションを持つ複数のページ
  3. を持って
  4. すべてのセッションがあり、複数のアクション
  5. ので

それは次のようになります。

user = { 
    'email': '[email protected]', 
    'pages': [ 
     { 
      'name': 'best page', 
      'sessions': [ 
       { 
       session_name: 'abc', 
       actions: [ 
        {abc: 'def'}, 
        {abc: 'def'} 
       ] 
       }, 

      ] 
     }, .. 
    ] 
}; 

基本的に3つのネストされた配列があります。セッションデータは読み込み(更新操作なし)のためだけに使用されます。ページを参照してセッションを別のモデルにすることを考えていました。いいアイデアですか?

答えて

0

あなたのアーキテクチャではまったく問題はありません。これはone to many relationshipの場合です。あなたの例に示すようにSessions datanested formに保存する必要があります。セッションデータを照会するだけでも、将来はissue multiple queries to resolve the referencesにする必要があります。したがって、より良い実践のために、セッションデータを別々に保つべきではありません。詳細については、Mongo: Model One-to-Many Relationships

を参照してください。
関連する問題