我最近一直在學習如何使用MongoDB中使用的是Node.js,並一直想知道我怎麼會去分享的MongoDB與團隊中的其他變化,例如,通過一個Git倉庫。MongoDB的共享與團隊改變
如果我需要,例如,一個名爲MongoDB中users
收集,並收集了包含領域givenName
和familyName
一些文件,這將是很容易當上了球隊每個開發人員運行應用程序時,MongoDB的,因爲這樣做將自動創建集合和字段,因爲它們是在代碼中編寫的。
現在讓我們說,由於某種原因,我需要將這兩個字段重命名爲forename
和surname
。
的應用已經運行了一段時間,因此所有的球隊中開發商已經包含與givenName
和familyName
文件users
收集的本地副本;生產服務器也是如此。
從我的理解我不能簡單地改變代碼中的字段名稱來使用新的字段名稱,因爲我們會'丟失'舊字段名稱中使用的任何數據(通過'丟失'I當然意味着我們不會再看到舊數據,儘管它仍然存在,如預期的那樣)。
所以我想我會在MongoDB的外殼也運行一個命令在所有相關文件的重命名字段。
但是,如果我這樣做,那麼只有我的地方了users
收集的副本是最新的。
當使用MySQL時,我們可能只是在需要時運行的SQL文件中共享我們對git的所有更改,或者如果可用,則使用遷移,例如PHP中的Laravel框架。
我們會不會只是做同樣的,因爲我們與MySQL沒有和保持changes.js
文件,我們在MongoDB的運行shell?
還是有更好的方式,在應用程序代碼本身要做到這一點,也許使更改當開發人員運行的應用程序自動運行?
換句話說,團隊成員之間共享MongoDB更改的最佳做法是什麼?
如果您需要測試數據來反映這些變化,那麼就像是需要遷移腳本一樣。它可以用於控制檯,或者甚至是node.js,只要它一致地處理「模式」更改。或者,你可以忽略這些變化,只擔心生產。 – WiredPrairie