mongodb 转储和管道到其他数据库名称

hen*_*nit 4 mongodb mongorestore mongodump

MongoDB 版本 3.2.12。我有两个本地数据库,“base1”和“base2”

我想将所有数据(所有集合)从 base1 复制到 base2,替换那里的所有内容(例如将生产转储到开发环境时)。

任何管道命令(或其他简单的方法)来做到这一点?

我试过

mongodump --archive --db base1 | mongorestore --db base2 --archive
Run Code Online (Sandbox Code Playgroud)

列出了很多“将 base1.collectionname 写入标准输出存档”,但没有写入 base2。

我也试过

mongodump --db base1 --gzip --archive=/path/to/file.gz
mongorestore --db base2 --gzip --archive=/path/to/file.gz
Run Code Online (Sandbox Code Playgroud)

转储工作,恢复只是说“为存档创建意图”,“完成”

小智 6

我遇到了同样的问题,经过一些谷歌搜索和搜索后,我发现了这篇文章 /sf/answers/3066724251/

我试过这个命令提到:

mongodump --host HOST:PORT --db SOURCE_DB --username USERNAME --password PASSWORD --archive | mongorestore --host HOST:PORT --nsFrom 'SOURCE_DB.*' --nsTo 'TARGET_DB.*' --username USERNAME --password PASSWORD  --archive --drop
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力。它应该适用于您的情况,祝您好运。