![](/img/trans.png)
[英]Mongodb can dump but not to store “error restoring from <db-name.bson> an insert is too big”
[英]mongodb dump and pipe to other db name
Mongodb版本3.2.12。 我有两个本地数据库,“ base1”和“ base2”
我想将所有数据(所有集合)从base1复制到base2,以替换那里的所有内容(例如将生产转储到开发环境时)。
任何管道命令(或其他简单方法)可以做到这一点?
我试过了
mongodump --archive --db base1 | mongorestore --db base2 --archive
列出了很多“将base1.collectionname写入要在stdout上存档的文件”,但是没有任何内容写入base2。
我也试过
mongodump --db base1 --gzip --archive=/path/to/file.gz
mongorestore --db base2 --gzip --archive=/path/to/file.gz
转储有效,还原仅显示“创建存档意图”,“完成”
我遇到了同样的问题,经过一番谷歌搜索之后,我发现了这个帖子https://stackoverflow.com/a/43810346/3785901
我试过以下命令:
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
它就像一个魅力。 它应该适合您的情况,祝您好运。
我使用以下命令:
mongodump \
--host ${mongo.host} \
--port ${mongo.port} \
--username ${mongo.backup_restore_user} \
--password ${mongo.backup_restore_password} \
--db ${mongo.db} \
--gzip \
--dumpDbUsersAndRoles \
--archive=${archive}
和
mongorestore \
--keepIndexVersion \
--drop \
--gzip \
--restoreDbUsersAndRoles \
--db ${mongo.db} \
--host ${mongo.host} --port ${pims.mongo.port} \
--username ${mongo.backup_restore_user} \
--password ${mongo.backup_restore_password} \
--archive=${archive}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.