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

原文地址:https://www.525600.xyz/archives/41.html
posted @ 2021-05-07 13:31  果冻栋吖  阅读(980)  评论(0编辑  收藏  举报