2017-02-05 112 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 data,如nested form所示。即使您只想查詢會話數據,您以後可能也需要issue multiple queries to resolve the references。所以,爲了更好的練習,你不應該分開保存會話數據。欲瞭解更多信息,請參閱Mongo: Model One-to-Many Relationships