我有这样的事情:

dbs=$(mongo --quiet --eval "db.getMongo().getDBNames()" --host exemple.com | \
            grep '"' | tr -d '"' | tr -d ',')

for db in $dbs; do
    cols=$(mongo --quiet --eval "print(db.getCollectionNames())" $db \
                  --host exemple.com | tr ',' ' ')
    for col in $cols; do
        mongodump --host example.com -q "{_id:{\$gt:$oid}}" \
                   -d $dbs -c $col --out /data/
   done
done

我越来越:



如何将 mongodump 用于所有数据库中的所有集合?

最佳答案

这是一个工作脚本:

  dbs=`mongo --eval "db.getMongo().getDBNames()" | grep '"' | tr -d '",' `


    for db in $dbs; do
        col=`mongo  $db --host example.com --quiet --eval "db.getCollectionNames()" | tr -d ',"[]' `
        for collection in $col; do
          mongodump --host example.com -q '{_id: {$gt: 10}}' -d $db -c $collection --out dump

       done
    done

来自 mongodump documentation :

关于bash - 多个数据库和集合 mongodump,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43543583/

10-11 06:25