成功转储了一个 MongoDB:
$ mongodump -h ourhost.com:portnumber -d db_name01 -u username -p
我需要将它导入或导出到测试服务器并且遇到了困难,请帮我弄清楚。
我尝试了一些方法:
$ mongoimport -h host.com:port -c dbname -d dbname_test -u username -p
connected to host.
Password: ...
给出这个错误:
assertion: 9997 auth failed: { errmsg: "auth fails", ok: 0.0 }
$ mongoimport -h host.com:port -d dbname_test -u username -p
给出这个错误:
no collection specified!
如何指定使用哪个集合?我应该为 -d 使用什么?我想上传什么或者我想用什么作为测试?我想导入完整的数据库,而不仅仅是它的集合。
最佳答案
mongodump
对应的是 mongorestore
(mongoimport
对应的是 mongoexport
)——主要不同之处在于工具创建和理解的文件格式(dump
和 restore
读取和写入 BSON 文件;export
和 import
处理文本文件格式:JSON、CSV、TSV。
如果你已经运行了 mongodump
,你应该有一个名为 dump
的目录,每个被转储的数据库都有一个子目录,这些目录中有一个文件用于每个集合。然后,您可以使用以下命令恢复它:
mongorestore -h host.com:port -d dbname_test -u username -p password dump/dbname/
假设您要将数据库 dbname
的内容放入一个名为 dbname_test
的新数据库中。
关于mongodb - 如何导入转储的MongoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8070298/