python - 无法将我的 python rest api 连接到 mongoDB
问题描述
在运行部署在heroku中的其余api时。我遇到以下错误,提示无法访问 mongodb
目前我正在使用 mongodb 访问pymongo.MongoClient("mongodb://localhost:27017/")
,我可以知道如何配置它,以便我可以访问数据库。
谢谢苏梅什
解决方案
既然您说您没有在某处托管数据库,我将解释如何使用 mLab 进行设置并启动和运行数据库。
- 在mLab中创建一个帐户,并在其中创建一个数据库。
- 然后在该数据库中创建一个用户。我们可以使用它来将您的本地数据库部署到 mLab
- 创建数据库的转储
mongodump -d <DB_NAME>
- 然后将数据库恢复到您的 mLab 实例
mongorestore -h <DB_URL> -u <DB_USERNAME> -p <DB_PASSWORD> --authenticationDatabase <MLAB_DB_NAME> -d <LOCAL_DB_NAME> <DB_DUMP_LOCATION>
- 成功部署db后,可以在Heroku中设置连接字符串
heroku config:set MONGOLAB_URI=mongodb://username:password@<DB_URL>/<DB_NAME>
- 然后,在 python 应用程序中设置连接字符串
import os
pymongo.MongoClient(os.environ['MONGOLAB_URI'])
欲了解更多信息:
https://medium.com/miguel-garcia/heroku-and-mlab-with-mongodb-free-the-easy-way-ec2ae80073f7
https://forum.freecodecamp.org/t/how-to-deploy-your-mongodb-app-to-heroku/19347
推荐阅读
- javascript - JavaScript (es6) haskel where 替代
- amazon-web-services - 在 bitbucket 中实现 CI/CD 管道
- sql - MariaDB如何管理临时表?
- node.js - 写回 json 但分配为变量
- python - 关于布尔变量的 Django 模板过滤器
- bash - Linux:在查找语法错误时需要帮助(第 3 行)
- excel - 将 Target.Address 存储在变量中
- linux - 通过 Ubuntu Terminal 从 OpenVINO™ Toolkit Pre-Trained Models 下载预训练模型
- git - 如何使用 Git 恢复我的本地更改?
- amazon-ec2 - yum update 报告 EC2 上关于包依赖的错误