我有這樣的事情:多個數據庫和集合mongodump
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
對所有集合在所有數據庫中?
雙引號所有的shell變量,'$ dbs','$ db','$ cols','$ col'。它可能無法解決問題,但在通過細節問題時很有用 – Inian
'grep'「'| tr -d'」'| tr -d',''可以簡化爲:'tr -d'「,''。 – agc