16

我在 Atlas 中有名为“test”的远程数据库,我想将集合名称 image_table 作为 JSON 文件下载。

在 mac 终端中:

$ mongoexport –db test –collection image_table image.json 我得到了错误>

020-01-16T13:49:12.822+0100 解析命令行选项时出错:位置参数太多:[–db test –collection image_table image.json] 2020-01-16T13:49:12.822+0100 try 'mongoexport --help ' 了解更多信息

4

4 回答 4

10

MongoDB Compass 有很多缺陷,即使是像导出集合这样微不足道的任务,也可能会让你失败。例如,它将跳过导出中的某些字段。该应用程序本身说:“显示的字段来自集合中的文档样本......”。根据我的经验,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>

于 2020-11-15T21:11:44.350 回答
8

我可以在 Mongo Compass 中找到更直接的答案:

在此处输入图像描述

只需安装 mongo compass 连接到您的 atlas 远程数据库:从远程 altas 集群获取主机名,如“cluster0-shard-00-00-rcapo.mongodb.net XXXXX”,然后连接到数据库。

然后您可以将每个文档下载为 JSON 或 CSV 格式。谢谢,mongo DB 指南针开发团队。

于 2020-01-16T14:00:19.623 回答
3

我有同样的问题。在我的例子中,我使用带有 --query 选项的 mongoexport,它需要一个 JSON 文档,例如:

mongoexport ... --query {field: 'value'} ...

我需要用引号将文档括起来:

mongoexport ... --query "{field: 'value'}" ...

于 2020-01-16T13:07:23.113 回答
0

我想将我的地图集中的所有集合导出到本地数据库。在遇到很多关于 mongodb compass 和 mongoshell 的问题后,我最终为 mongodb 使用了 NOSQL booster。 下载链接

它可以轻松地一次导出所有集合,然后我可以使用相同的工具将它们导入我的本地 mongodb 数据库。

于 2021-12-06T10:14:55.820 回答