如何导入倾销的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使用什么?我想要上传什么或想用什么来测试?我想导入完整的数据库而不仅仅是它的集合。
答
的对应物mongodump
是mongorestore
(和对应于mongoimport
是mongoexport
)导出的数据 - 的主要区别是在创建的文件的格式和由所述理解工具(dump
和restore
读写BSON文件; export
和import
处理文本文件格式:JSON,CSV,TSV
如果您已经运行mongodump
,你笑。 uld有一个名为dump
的目录,每个转储的数据库都有一个子目录,每个集合的目录中有一个文件。然后,您可以用命令恢复此类似:
mongorestore -h host.com:port -d dbname_test -u username -p password dump/dbname/
假设你想要把数据库dbname
的内容到一个名为dbname_test
新的数据库。
答
当您执行mongodump
时,它将以二进制格式转储。您需要使用mongorestore
“导入”这些数据。
Mongoimport
为导入这是使用mongoexport
答
您可能必须指定认证数据库
mongoimport -h localhost:27017 --authenticationDatabase admin -u user -p -d database -c collection --type csv --headerline --file awesomedata.csv
谢谢,它解决了我的问题! – YogiZoli