2011-02-01 62 views
0

我有一個使用mongodb的rails項目,我遇到的問題是當我有從以前的模型製成的記錄(文檔)。 (我剛開始克拉斯錯誤,只是爲了更舊的記錄)如何修復模型更新mongodb時的記錄

有沒有一種快速的方法來修復這些mongodb文件的軌道方式,使用一些命令。

或者是否有一個命令,我可以用mongoid運行它,以打開mongo中的特定模型,然後我可以手動戳文檔(刪除不需要的關聯)。

+1

您必須編寫一個mongo查詢來更改需要更改的文檔。在mongodb中不存在這樣的模型,這純粹是一些抽象層,由您正在使用的某個應用程序庫頂層構建。 – 2011-02-01 10:47:08

回答

0

模式遷移的概念需要在mongoid中存在,我不認爲它是這樣。如果你已經做了簡單的改變,如重命名或刪除字段,那麼你可以很容易地用update語句做到這一點,但對於任何更復雜的事情,你都需要編寫代碼。

由於映射層不再兼容,您需要編寫的代碼很可能需要轉到驅動程序級別以更改對象。

一般來說,當您在對象中進行架構更改時需要小心,因爲服務器沒有這個概念並且無法強制執行它們。它最終取決於您的代碼或您正在使用的框架,以保持兼容性。

這通常是一個問題,當你沒有做批量升級讓事情在相同的架構,從映射層角度映射系統。