有人可以告诉我如何通过命令行
一次导出所有集合(进入JSON格式)答案 0 :(得分:0)
通常你想使用mongoexport或mongodump,但每个只能在一个集合上使用。
要获取所有集合并将它们全部导出,您需要运行某些类型的脚本,这些脚本可以定位然后遍历所有内容。 在linux上它将是这样的:
#!/bin/bash
DB=$1
Collections=$(mongo localhost:27017/$DB --quiet --eval "db.getCollectionNames()" | sed 's/,/ /g')
for collection in $Collections; do
mongoexport -d <DATABASE_NAME> -c $collection -o $collection.json
done
您需要将其转换为脚本文件然后运行它。 我没有测试过上面的内容,但希望它没有错误。
答案 1 :(得分:0)
Steve的脚本生成结尾处带有引号的文件。为了避免这种情况,改进了模式。
改进上述脚本
#!/bin/bash
DB=$1
Collections=$(mongo localhost:27017/$DB --quiet --eval "db.getCollectionNames()" | sed 's/[^"[:alnum:]]/ /g')
for collection in $Collections; do
mongoexport -d $DB -c $collection -o ./$collection.json
done