從MySQL背景來看,我一直在質疑Mongo使用Mongo時的一些設計模式。我一直問自己的一個問題是,我應該在什麼時候創建一個新的集合,並創建一個數組類型的屬性?我現在的情況去如下:創建新集合和數組屬性
- 我有誰都有至少1收件箱
- 用戶的集合,每個收件箱中有0個或多個消息
- 每個消息可以有0個或評論
我當前結構看起來像這樣:
{
username:"danramosd",
inboxes:[
{
name:"inbox1",
messages:[
{
message:"this is my message"
comments:[
{
comment:"this is a great message"
}
]
}
]
}
]
}
爲了簡單起見,我只列出1個收件箱中,1個消息,並且1共mment。實際上雖然可能還有更多。
的方法,我相信會更好地工作就是用4個集:
- 用戶 - 商店只是用戶名
- 收件箱 - 收件箱的名稱,與用戶的UID沿着它屬於
- 消息 - 消息的內容以及它所屬的收件箱的UID
- 評論 - 評論的內容及其所屬消息的UID。
那麼哪一個更好?