前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >批量删除mongo Collections

批量删除mongo Collections

作者头像
happy123.me
发布2018-06-04 10:02:40
2.6K0
发布2018-06-04 10:02:40
举报
文章被收录于专栏:乐享123

mongodb没有批量删除collecton的命令,平常建立了很多a1,a2,a3的表删除有些麻烦,写个小脚本方便些。

代码语言:javascript
复制
mongorm.sh -d database -c a*

就很方便删除了。

代码语言:javascript
复制
#!/bin/bash
# remove mongodb's collections with command "mongn rm app*"
# Usage `mongorm <-c collections*> <-d dababase>`

E_BADARGS=85
E_NOFILE=86

DATABASE=''
COLLECTIONS=''

while getopts "c:d:h" arg
do
        case $arg in
             c)
                echo "-c $OPTARG"
                COLLECTIONS=$OPTARG
                ;;
             d)
                echo "-d $OPTARG"
                DATABASE=$OPTARG
                ;;
             h)
                 echo "mongorm <-d database> <-c collections>"
                 echo "for exp:"
                 echo "        mongorm -d bpc -c app*"
                 ;;
             ?)
                echo "unkonw argument"
        exit 1
        ;;
        esac
done

if [[ -z "$DATABASE" ]]
    # Correct number of arguments passed to script?
then
    echo 'Usage: -d database'
    echo 'please do mongorm.sh -h to get more info'
    exit $E_BADARGS
fi

if [[ -z "$COLLECTIONS" ]]
    # Correct number of arguments passed to script?
then
    echo 'Usage: -c collections'
    echo 'please do mongorm.sh -h to get more info'
    exit $E_BADARGS
fi

mongojs_rm_function=`cat << EOF
db.getCollectionNames().forEach(function(c) {
    if(c.match("$COLLECTIONS")) {
                db.getCollection(c).drop();
                    }
                  });
EOF
`
echo $mongojs_rm_function>remove.js

mongo 127.0.0.1:27017/$DATABASE remove.js
rm -rf remove.js
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档