在Mac OS X上,mongoimport安装在哪里?

17

我正在尝试为定期将json数据导入到mongo数据库中设置cronjob。为了进行导入,我在cronjob运行的Python脚本中有以下命令:

os.system("mongoimport --jsonArray --db %s --collection %s --file .../data.txt" %(db_name,collection_name))

然而,cronjob的日志文件仍然显示以下错误:

sh: mongoimport: command not found

我认为我需要在代码中使用完整的文件路径来调用mongoimport,但是我不确定mongodb/mongod/mongoimport安装在我系统的哪个位置。whereis mongoimport、whereis mongodb、whereis mongod都没有返回任何内容。

我使用Homebrew安装了mongodb。使用Homebrew安装的软件包位于/Library/Caches/Homebrew中。然而,在我的系统中,这个文件夹只有一个mongodb-2.6.4_1 tar文件。我是否需要解压缩这个tar文件才能访问mongoimport?

谢谢你的帮助。


mongo 命令可用吗? - Ravi
6个回答

68
截至2020年6月, 我按照文档使用brew安装了最新版本的mongodb,但是遇到了同样的问题command not found: mongoimport
我不得不安装mongodb-database-tools。
brew install mongodb/brew/mongodb-database-tools

然后我可以使用mongoimport
官方的在MacOS上安装文档也是同意的。

这个很好用,也是解决问题的方案。 - Rigin Oommen
这个答案对我很有用。mongoimport在使用mongodb-communitymongodb-community-shell安装时无法安装。MongoDB的文档和GitHub上的brew tap对此非常误导。 - Joe Sadoski
我猜它们已经在你的电脑上了,但这会为你的电脑增加另一组工具,可以从你的路径访问吗? - SDG
2
请手动下载:https://www.mongodb.com/try/download/database-tools?tck=docs_databasetools - Sanket9394
对我有用!也许你需要在安装后链接工具:brew link mongodb-database-tools - Mike
显示剩余2条评论

9

我遇到了相同的问题,但是我通过 Mac Port 安装了 mongodb。不幸的是,从 mongodb 的第 3 版开始,这些 mongodb 工具已经被维护为一个单独的项目,因此我更新了 Mac Port 到最新版本,然后单独安装了 mongo 工具。

sudo port install mongo-tools

希望这能帮助那些通过 Mac Port 安装 mongodb 的人。


6
如果您正确安装了MongoDB,则需要创建一个~/.bash_profile文件,并将/usr/local/mongodb/bin分配给$PATH环境变量。之后,您应该能够访问mongoimport命令。

0

0
如果您使用brew进行安装,mongod将位于/usr/local/bin/目录中。其他实用程序(mongoimport、mongoexport等)也在同一路径中。您所需要做的就是打开另一个终端窗口。

1
截至2020年,当我从brew安装时,情况并非如此。Sanket9394的答案确实解决了我的问题 - Joe Sadoski

-3

尝试使用./mongoimportsudo ./mongoimport

在遵循所有这些示例之后,我能够从bash中以这种方式使用它。


@NicoHaase 是的,但我不知道这是否算作“随机”。 - Jim
这个解释在很多方面都缺失。有Unix的文件和文件夹结构方式,你不能期望相对路径能出乎意料地工作。有etc文件夹、var文件夹、home文件夹、tmp文件夹和许多其他文件夹,每个都专门设计用于特定目的。其中一个(在98%的情况下)用于新安装的软件,就像Windows中的默认安装文件夹是Program Files一样。而且这还没有提到$PATH环境变量(如果没有正确使用,可能会导致各种问题)。 - Tal Kohavy
这个解释在很多方面都不足够。首先,Unix系统中的文件和文件夹结构是有一套规则的,你不能指望一个相对路径能够突然间就起作用。有etc文件夹、var文件夹、home文件夹、tmp文件夹等等,每个文件夹都有特定的用途。其中一个文件夹(在98%的情况下)被用于新安装的软件,就像Windows中的默认安装文件夹是Program Files一样。还有,更不用提$PATH环境变量了(如果没有正确设置,可能会引发各种问题)。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接