我试图设置一个cronjob,用于定期将json数据导入mongo数据库。要进行导入,我在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的位置。其中mongoimport,whereis mongodb,其中mongod都没有返回。
我用Homebrew安装了mongodb。使用Homebrew安装的软件包位于/ Library / Caches / Homebrew中。但是,在我的系统中该文件夹只有一个mongodb-2.6.4_1 tar文件。我是否必须解压缩此tar文件才能访问mongoimport?
感谢您的帮助。
答案 0 :(得分:29)
截至2020年6月,
我根据文档使用brew
安装了最新版本的mongodb,遇到同样的问题command not found: mongoimport
。
我必须安装mongodb-database-tools
brew install mongodb/brew/mongodb-database-tools
然后我可以使用mongoimport
只要添加此解决方案,以防它对某人有所帮助
答案 1 :(得分:7)
遇到同样的问题,但我通过Mac端口安装了mongodb。不幸的是,从mongodb的第3版开始,这些mongodb工具作为一个单独的项目进行维护,因此我将Mac端口更新为最新版本,然后单独安装了mongo工具。
sudo port install mongo-tools
希望这可以帮助那些通过mac端口安装mongodb的人。
答案 2 :(得分:2)
如果您正确安装了MongoDB,则需要创建~/.bash_profile
并将/usr/local/mongodb/bin
分配给$PATH environment variable
之后你应该能够访问mongoimport命令
答案 3 :(得分:0)
访问https://www.mongodb.com/download-center/community,您可以下载MacOS的压缩包,其中包含mongoimport
等所有工具。
解压缩,添加到您PATH
中,瞧瞧!
答案 4 :(得分:-1)
尝试使用./mongoimport
或sudo ./mongoimport
在完成所有这些示例后,我能够以bash
的方式使用它。