2014-04-04 36 views
0

我試圖存儲具有多級鍵的mongodb的集合:值對,即JSON字符串內的JSON字符串。以下將是計劃的結構。Mongodb - 多級鍵:集合中的值對

{ 
    a : b, 
    a : { 
      a:{ 
       a:b, 
       a:b, 
      } 
      a:b, 
      a:{ 
       a:b, 
       a:b, 
       a:{ 
        a:b, 
        a:b, 
        a:b 
       } 
      } 
     } 
} 

這裏的a和b是不同的字段,並且會有更多的字段。我基本上是試圖避免使用多個表,並有關係約束,如在MySQL的情況下,並將它們放在一個集合中。我意識到Mongo的模式少設計功能,但遵循相同的做法是不好的做法嗎?

編輯:實際使用情況的一個例子:有意見,有評論答案#1 問題,投票每個相同的,時間戳等

+0

在你給的例子中可怕的做法。按照您顯示的方式嵌套文檔使得以任何有意義的方式進行查詢幾乎是不可能的。你最好用接近實際數據的東西來解釋一個實際的用例。 –

回答

0

這是很難從例子告訴你已經給了,但一般而言,Mongodb最適合您描述的情況。幾次MongoDB是超級有用:

  • 當你有在名稱中,鍵入一個大veriety或字段的文件數量(思行於標準的SQL數據庫)
  • 當你有文件即會總是邏輯上加載在其他文檔的上下文中。例如,如果您始終在該用戶的上下文中加載用戶的地址,並且永遠不會自行加載,則將其作爲用戶的子文檔是合理的。
  • 當這兩個都是真實的。特別是那時。