0
有一個包含100.000個文檔的集合。其中只有10人必須擁有其他文件不需要的額外財產(例如,只有最高職位的部門名單纔有財產'位置'); 據我瞭解這兩種方法應該工作得很好,但哪一個是可取的,因爲使用的NoSQL數據庫:mongodb架構設計 - 添加集合或擴展現有的集合
- 增加一個集合與具有2屬性文件:DepartmentID的,位置。
- 將屬性'位置'添加到選定的文檔,所以其他人不會擁有它。
有一個包含100.000個文檔的集合。其中只有10人必須擁有其他文件不需要的額外財產(例如,只有最高職位的部門名單纔有財產'位置'); 據我瞭解這兩種方法應該工作得很好,但哪一個是可取的,因爲使用的NoSQL數據庫:mongodb架構設計 - 添加集合或擴展現有的集合
您面臨的問題衆所周知。例如,您可以使用源代碼。
當你更新的代碼,你將它保存爲User.js, User2.js, User3.js ... ?
還是你使用versionning系統如Git,並有獨特的User.js
?
翻譯你的問題的git類比,你應該更新當前的數據。
在mongodb中,您實際上有兩種選擇來執行更新。
更新代碼中的模型,並更新數據庫中的每個條目以匹配新模型。
創建一個適用於新條目的新模型,並且仍舊具有處理舊格式數據的舊模型。
我只打算給文檔添加到收藏,現在它只是規劃。因此,可以將兩個模式(文檔類型)添加到一個集合中,而不需要額外的步驟(如額外的索引或smth)? – Anton
完全沒有額外的步驟。這是nosql數據庫的最佳實力之一。模塊化/演變性。 –