SyntaxError:尝试将 Mongo Atlas 集合导出到本地计算机时缺少分号

mik*_*eym 1 database command-line mongodb mongodb-atlas

我在将集合从 Mongo Atlas 导出到本地计算机时遇到问题。我尝试了几种不同的格式,包括这种格式,我在有关导入和导出数据的 Atlas 官方文档中找到了这种格式。

首先,我像这样登录我的 Atlas:

mongosh "mongodb+srv://cluster0.oyvrw.mongodb.net/dbname" --username uname

然后我尝试官方文档中的命令:

mongoexport --uri mongodb+srv://uname:password@cluster0.oyvrw.mongodb.net/dbname --collection colname --type json --out cats.json

我查看了其他类似的问题,并尝试了我在网上可以找到的所有内容,但没有成功。一种建议是不要从 mongo shell 运行命令,而是从常规命令行运行命令,但这也不起作用。

看起来从 Atlas 中获取集合到 JSON 应该更容易。非常感谢任何帮助或建议。谢谢!

mik*_*eym 6

对于遇到此错误的任何人,该 mongoexport命令不适用于mongosh. 它必须与系统 shell 一起运行。

然而,mongoexport是 的一部分mongo-database-tools,从 MongoDB 4.4 开始,它是单独发布的。因此,如果安装的 MongoDB 版本是 4.4 或更高版本,mongoexport在系统 shell 中运行将抛出异常。command not found

要解决这个问题,您可以使用自制程序安装数据库工具:

brew install mongodb/brew/mongodb-database-tools

当然,请确保您已经安装了自制程序。如果不是快速谷歌会有所帮助。

然后以下命令应该可以执行导出:

mongoexport --uri mongodb+srv://<username>:<password>@cluster0.oyvrw.mongodb.net/<dbName> --collection <collectionName> --type json --out /Users/macuser/desktop/exportBU.json

希望这可以帮助任何在将数据输入/输出 MongoDB 时遇到类似问题的人。