鍍金池/ 問答/數(shù)據(jù)庫  HTML/ mongodb 調整了schema 后,原來的數(shù)據(jù)怎么處理?

mongodb 調整了schema 后,原來的數(shù)據(jù)怎么處理?

mongodb 對 schema 設計好后,已經正常運行一段時間了(已經有數(shù)據(jù)), 后面調整 schema 的時候,比如,增加一個字段,減少一個字段,這個原數(shù)據(jù)怎么處理,是要先洗一遍數(shù)據(jù)嗎。 還是。。。

回答
編輯回答
魚梓

原來的數(shù)據(jù)還在啊,你想一個個的刪除也行;一個個修改也行;如果數(shù)據(jù)龐大,就直接做錯誤兼容處理,少了。字段的表要特別處理。
最好的當然是做到和schema一致,因此最好替換所有數(shù)據(jù)

2018年8月4日 06:35
編輯回答
笨小蛋

schema設計好后
如果要增加字段,執(zhí)行mongo命令:db.yourtable.update({}, {$set: {addField:""}}, false,true)
如果要刪除字段,執(zhí)行mongo命令:`db.yourtable.update({}, {$unset: {deleteField:""}}, false,true)

注:如果表的數(shù)據(jù)量過大, 可以考慮在query處加些過濾條件,以達到分批執(zhí)行的效果。

2018年5月9日 05:18