4
我正在考慮遷移到mongoDB,但我缺乏一些基本的瞭解。我的主要問題是「存儲的對象如何受到模型更改的影響?」。這裏是一個場景,以更好地瞭解我想知道什麼:MongoDB:存儲對象如何受到模型更改的影響?
- 我創建一個「用戶」模型與first_name,姓氏,電子郵件屬性。
- 我在我的應用程序中創建了25個存儲在mongo中的用戶(所以它們被存儲爲{first_name:「xxx」,last_name:「yyy」,email:「zzz」})
- 我向我的「用戶」模式:用戶名
- 我在我的應用程序中創建了25個新用戶(因此它們被存儲爲{first_name:「xxx」,last_name:「yyy」,email:「zzz」,用戶名:「xyz」})
- 我從「用戶」模型中刪除「first_name」和「last_name」屬性。
- 我更新了前25個用戶中5個的電子郵件地址。
因此,這裏是我的問題:
- 添加「用戶名」屬性設置爲「用戶」模式後,會發生什麼情況第一25個對象?他們是否在其BSON定義中收到了「username」屬性,其值爲空?我的理解是他們只是沒有受到感染。
- 當我從「用戶」模型中刪除「first_name」和「last_name」屬性時,現有的50個用戶會發生什麼情況?我想#1適用的答案相同。
- 當我更新了10條記錄的電子郵件地址後,5個第一個會發生什麼?他們是否加入了「用戶名」,刪除了「first_name」和「last_name」並更新了他們的電子郵件地址?或者只是更新其電子郵件地址?
感謝您的回答!實際上,我一直認爲在數據庫中定義模型的屬性而不是模型本身是很奇怪的,所以不會造成太大的損失;-)所以我猜測單元測試是最終的保護措施,可以防止不必要的模型更改和信息丟失等問題因爲錯誤地刪除了模型中的電子郵件屬性定義行,並在應用程序中丟失了該信息,因爲delayed_job每晚都在更新您的用戶! – 2012-04-18 15:05:05