gpt4 book ai didi

bash - 多个数据库和集合 mongodump

转载 作者:可可西里 更新时间:2023-11-01 09:25:57 31 4
gpt4 key购买 nike

我有这样的东西:

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

我得到:

positional arguments not allowed

如何对所有数据库中的所有集合使用 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 :

--query , -q

Provides a JSON document as a query that optionally limits the documents included in the output of mongodump. You must enclose the query in single quotes (e.g. ') to ensure that it does not interact with your shell environment.

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

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com