作者:isonlyk | 来源:互联网 | 2023-02-06 02:40
我有这样的事情:
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
在所有数据库中使用所有集合?
1> felix..:
这是一个工作脚本:
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文档:
--query,-q
提供一个JSON文档作为查询,可以选择限制mongodump输出中包含的文档。您必须将查询用单引号引起来(例如'),以确保它不会与您的Shell环境交互。