我在Atlas中有一个名为“test”的远程数据库,我想下载集合名image_table作为JSON文件。
在mac终端中:
$ mongoexport -db test -collection image_table image.json我得到了错误>
020-01- 16 T13:49:12.822+0100解析命令行选项时出错:位置参数太多:[-db test -collection image_table image.json] 2020-01- 16 T13:49:12.822+0100尝试'mongoexport --help'获取更多信息
5条答案
按热度按时间jecbmhm31#
MongoDB Compass有很多缺陷,甚至可能会让你失败,即使是像导出集合这样的琐碎任务。例如,它将跳过导出中的某些字段。app本身说:“显示的字段来自集合中的文档的示例..."。从我的经验来看,Compass使用的样本非常小。我丢失了数据,即使当出口100个文件左右。
使用
mongoexport
很容易。如果你使用mongo 3.6+,这将工作:mongoexport --uri mongodb+srv://<username>@atlas-cluster-url.mongodb.net/<db-name> --collection <collection-name> --out <path-to-export>
个hfsqlsce2#
我可以在Mongo Compass中找到一个更简单的答案:
的数据
只需安装mongo compass连接到您的atlas远程数据库:从远程altas集群获取主机名,如“cluster0-shard-00-00-rcapo.mongodb.net XXXXX”,然后连接到数据库。
然后您可以下载每个文档为JSON或CSV格式。感谢mongo DB指南针开发团队。
xoefb8l83#
我也有同样的问题。在我的例子中,我使用了mongoexport和--query选项,它需要一个JSON文档,比如:
字符串
我需要在文档周围加上引号:
型
envsm3lx4#
我想从我的Map集导出所有的集合到本地数据库。在使用mongodb compass和mongoshell遇到很多问题后,我最终使用了mongodb的NOSQL booster。Downloading Link
它可以轻松地一次导出所有集合,然后我可以使用相同的工具将它们导入到本地mongodb数据库中。
wbrvyc0a5#
这可能是必要的解决方案:
第一个月
这将把所有集合转储到/目录