如何导入倾销的Mongodb?

问题描述:

甩一个MongoDB的成功:如何导入倾销的Mongodb?

$ mongodump -h ourhost.com:portnumber -d db_name01 -u username -p 

我需要导入或导出到TESTSERVER,并与它斗争,请帮我找出。

我尝试了一些方法:

$ 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使用什么?我想要上传什么或想用什么来测试?我想导入完整的数据库而不仅仅是它的集合。

的对应物mongodumpmongorestore(和对应于mongoimportmongoexport)导出的数据 - 的主要区别是在创建的文件的格式和由所述理解工具(dumprestore读写BSON文件; exportimport处理文本文件格式:JSON,CSV,TSV

如果您已经运行mongodump,你笑。 uld有一个名为dump的目录,每个转储的数据库都有一个子目录,每个集合的目录中有一个文件。然后,您可以用命令恢复此类似:

mongorestore -h host.com:port -d dbname_test -u username -p password dump/dbname/ 

假设你想要把数据库dbname的内容到一个名为dbname_test新的数据库。

+0

谢谢,它解决了我的问题! – YogiZoli

当您执行mongodump时,它将以二进制格式转储。您需要使用mongorestore“导入”这些数据。

Mongoimport为导入这是使用mongoexport

您可能必须指定认证数据库

mongoimport -h localhost:27017 --authenticationDatabase admin -u user -p -d database -c collection --type csv --headerline --file awesomedata.csv