0
假設我需要設計一個數據模型,用於存儲人員的地址更改。我可以想出兩種方法來實現它:更新人員的文檔,或插入代表更改的新文檔。增長文檔vs插入新文檔
使用更新方法,每個人都有一個包含地址數組的文檔,並且在地址更改時將地址添加到數組中。
使用插入方法,每個人可能會有多個文檔。每份文件都代表有關人員的地址變更。
假設文檔中存儲的唯一人員信息是該人員的唯一標識符和地址。我對其進行了精確化處理,以便與插入方法的數據重複被認爲是微不足道的。
當MongoDB用作數據庫時,推薦使用哪種方法?
哪種方法適合你?實際上,「嵌入」的整個概念主要針對如果你想在大多數情況下使用「大部分數據」,反之則是你想在大多數情況下使用「數據子集」。另一個基本約束是「大小」,因爲將數組增加到不可分配比例(即使在16MB BSON限制下)對性能不利。所以它確實是關於「你如何使用它」,而不是一般性建議或「做事方式」。做什麼最適合你。沒有澄清使用情況,沒有答案可以真正告訴你要選擇什麼。 –