[
{_id:001...arrs:[{name:'a',score:10},
{name:'b',score:11},
{name:'c',score:12},
{name:'d',score:13}
]
}
{_id:002...arrs:[{name:'a',score:11},
{name:'b',score:12},
{name:'c',score:13},
{name:'d',score:14}
]
}
...
]像上面的內嵌數組的文檔,每個arrs長度都在20一下,但是需要比較頻繁去更新arrs內部子文檔的name,score.是否有必要去把arrs內部子文檔拆分出來單獨放一張collection.這是在其他地方搜索到的建議:操作的最小單元最好是 Document,而不是 SubDocument,如果你經常有對 SubDocument 進行操作的需求,請把它拆出來放到另外一個 Collection 里,在原 Collection 的數據結構里 Refrence 這些拆出來的 Document。我在官網文檔還沒有找到這個建議,請問是否應該拆分出來?
1 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
沒有絕對的標準,怎么做需要權衡你的實際情況。這也是MongoDB數據模型設計的難點,因為不像RDBMS有范式這個標準,MongoDB的模型設計是根據你的需求來的,權衡各種使用場景下的利弊,然后選擇一個收益最好的模型。所以在沒有任何背景的前提下就說哪種更好是不合理的(所以在官網不可能找到這樣的建議)。
首先當初選擇把這些東西放在一個數組里的原因是什么?如果這些數據沒有任何聯系,那放在一起就是完全沒有必要的。
- 1 回答
- 0 關注
- 659 瀏覽
添加回答
舉報
0/150
提交
取消