首页 > 解决方案 > 无法将我的 python rest api 连接到 mongoDB

问题描述

在运行部署在heroku中的其余api时。我遇到以下错误,提示无法访问 mongodb

日志预览

目前我正在使用 mongodb 访问pymongo.MongoClient("mongodb://localhost:27017/"),我可以知道如何配置它,以便我可以访问数据库。

谢谢苏梅什

标签: pythonmongodbapirestheroku

解决方案


既然您说您没有在某处托管数据库,我将解释如何使用 mLab 进行设置并启动和运行数据库。

  1. 在mLab中创建一个帐户,并在其中创建一个数据库。
  2. 然后在该数据库中创建一个用户。我们可以使用它来将您的本地数据库部署到 mLab
  3. 创建数据库的转储
mongodump -d <DB_NAME>
  1. 然后将数据库恢复到您的 mLab 实例
mongorestore -h <DB_URL> -u <DB_USERNAME> -p <DB_PASSWORD> --authenticationDatabase <MLAB_DB_NAME> -d <LOCAL_DB_NAME> <DB_DUMP_LOCATION>
  1. 成功部署db后,可以在Heroku中设置连接字符串
heroku config:set MONGOLAB_URI=mongodb://username:password@<DB_URL>/<DB_NAME>
  1. 然后,在 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


推荐阅读