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

楊__羊羊
TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
在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ù)量過(guò)大, 可以考慮在query
處加些過(guò)濾條件,以達(dá)到分批執(zhí)行的效果。

函數(shù)式編程
TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
原來(lái)的數(shù)據(jù)還在啊,你想一個(gè)個(gè)的刪除也行;一個(gè)個(gè)修改也行;如果數(shù)據(jù)龐大,就直接做錯(cuò)誤兼容處理,少了。字段的表要特別處理。
最好的當(dāng)然是做到和schema一致,因此最好替換所有數(shù)據(jù)
- 2 回答
- 0 關(guān)注
- 1261 瀏覽
添加回答
舉報(bào)
0/150
提交
取消