mongodb - 如何导入转储的MongoDB?

标签 mongodb mongoimport mongorestore

成功转储了一个 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)——主要不同之处在于工具创建和理解的文件格式(dumprestore 读取和写入 BSON 文件;exportimport 处理文本文件格式: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/

相关文章:

MongoDB - 备份和恢复用户和角色

mysql - Loopback - 从 MongoDB 性能查询相关模型

mongodb - mongoengine-referencefield 存储什么

mongodb - 提高 IXSCAN 的性能?

mongodb - 转储远程数据库 : Failed: error connecting to db server: no reachable servers

mongodb - 使用 mongorestore 将数据恢复到分片集群时的预期平衡行为

ruby-on-rails - Mongoid 是否存在缩放方面的困难?

mongodb - mongoimport Docker失败:连接到数据库服务器时出错:没有可访问的服务器

json - 如何在远程服务器中进行 mongoimport

mongodb - 将长值导入 mongodb