我使用以下命令备份我的本地数据库
mongodump -h 127.0.0.1 --port 8001 -d meteor -c products --archive --gzip > dump.gz
然后我使用以下命令在我的服务器上恢复
cat dump.gz | ssh root@66.205.148.23 "cat | docker exec -i mongodb mongorestore --archive --gzip"
我想做同样的事情,但只有一个集合。尝试恢复时,将 -c 参数添加到上述命令不起作用。我收到一条消息,指出 -c 参数只能与 BSON 文件一起使用。
如何使用 -c 参数仅对一个集合执行上述操作?
谢谢
使用 --out 选项来写入mongodump
而不是--archieve
来写入BSON
文件
指定 mongodump 将为转储的数据库写入 BSON 文件的目录。默认情况下,mongodump 将输出文件保存在当前工作目录中名为 dump 的目录中。
若要将数据库转储发送到标准输出,请指定"-"而不是路径。如果要在保存输出之前对其进行处理,请写入标准输出,例如使用 gzip 压缩转储。写入标准输出时,mongodump 在直接写入文件时不会写入写入 .metadata.json 文件的元数据。
不能将 --archive 选项与 --out 选项一起使用。
这将创建包含BSON
文件的文件夹dump
mongodump -h 127.0.0.1 --port 8001 -d meteor --gzip --out dump
要恢复:
mongorestore -h 127.0.0.1 --port 8001 -d meteor --gzip -c collname foo dump/meteor/collname.bson.gz