MongoDB批量更新|按条件更新SQL|批量删除某个字段
问题
今天在配置数据的时候,发现之前数据库字段错了,有的叫sort_id
有的叫SortId
,在获取数据排序的时候无法统一使用。不想一个一个文档去修改,太多了,搜索到了下面的SQL。
批量按条件更新
db.getCollection('sys_meta_join_table').find({
"is_active": "N"
}).forEach(
function(item) {
db.getCollection('sys_meta_join_table').update({
"_id": item._id
}, {
$set: {
"is_active": "Y"
}
})
}
)
如果想要删除MongoDB中一个document的某个字段,该如何做呢?
db.getCollection('sys_meta_join_table').update({"sort_id":{"$exists":true}},{"$unset":{"sort_id",""}},{multi:true});
删除sys_meta_join_table
表的sort_id
字段。
模版
db.表.update({"field1":{"$exists":true}},{"$unset":{"field1",""}},{multi:true})
$exists:判断存在该字段。
注意在后面需要加上multi:true,删除多行。
参考
https://www.cnblogs.com/wolf-sun/p/5972777.html
https://www.cnblogs.com/mfser/p/13176904.html