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

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

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

回答
編輯回答
魚梓

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

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

schema設(shè)計(jì)好后
如果要增加字段,執(zhí)行mongo命令:db.yourtable.update({}, {$set: {addField:""}}, false,true)
如果要?jiǎng)h除字段,執(zhí)行mongo命令:`db.yourtable.update({}, {$unset: {deleteField:""}}, false,true)

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

2018年5月9日 05:18