从 MongoDb atlas 导出数据库到本地机器 Mongodb compass

Export database from MongoDb atlas to the local machine Monogo compass

我在 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 尝试 'mongoexport --help' 了解更多信息

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

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

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

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

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

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

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

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>

我想将我的图集中的所有馆藏导出到本地数据库。在遇到 mongodb compass 和 mongoshell 的很多问题后,我最终为 mongodb 使用了 NOSQL booster。 Downloading Link

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