該文檔只討論如何從ruby做到這一點。如何從python中使用mongolab附加到Heroku中?
2
A
回答
10
這是來自MongoLab的Will。我們有一個通用的例子,說明如何使用官方的Python驅動程序(pymongo)在Python中進行連接。這個例子不是用來連接Heroku,而應該是相似的。不同之處在於您需要從Heroku ENV環境中提取驅動程序配置以提供給驅動程序。
https://github.com/mongolab/mongodb-driver-examples/blob/master/python/pymongo_simple_example.py
如果您仍然有問題隨時與我們直接[email protected]安裝後
- 將會
4
獲取通過在命令行上運行heroku config
連接字符串設置聯繫Heroku應用程序的附加組件。
會有這種形式與重點MONGOLAB_URI的條目:
MONGOLAB_URI => mongodb://user:[email protected]:27707/db
只需創建從URI字符串連接從蟒蛇的URI的信息。
1
我覺得這樣的事情應該工作:
import os
import sys
import pymongo
mongo_url = os.getenv('MONGOLAB_URI', 'mongodb://localhost:27017')
db_name = 'mongotest'
if __name__ == '__main__':
try:
connection = pymongo.Connection(mongo_url)
if 'localhost' in self.mongo_url:
db_name = 'my_local_db_name'
else:
db_name = self.mongo_url.rsplit('/',1)[1]
database = connection[db_name]
except:
print('Error: Unable to Connect')
connection = None
if connection is not None:
database.test.insert({'name': 'foo'})
6
我使用了以下內容:
import os
from urlparse import urlsplit
from pymongo import Connection
url = os.getenv('MONGOLAB_URI', 'mongodb://localhost:27017/testdb')
parsed = urlsplit(url)
db_name = parsed.path[1:]
# Get your DB
db = Connection(url)[db_name]
# Authenticate
if '@' in url:
user, password = parsed.netloc.split('@')[0].split(':')
db.authenticate(user, password)
0
PyMongo現在提供了一個get_default_database()
方法,使這個整個演習瑣碎:
from pymongo import MongoClient
client = MongoClient(os.environ['MONGOLAB_URI'])
db = client.get_default_database()
相關問題
- 1. 在Mongoid 5中使用Heroku MongoLab 5
- 2. 從MongoDB中去MongoLab如何使用Node.js
- 3. 如何在mongoLab和Heroku服務器中使用mongo URI
- 4. 如何使用imagemagick將python頁面附加到Python中的png
- 5. 從Localhost MongoDB切換到使用MongoLab在Heroku上部署
- 6. 用PencilBlue連接到Heroku的Mongolab
- 7. 如何使用Heroku和MongoLab使用Twitter Streaming API?
- 8. Heroku/MongoLab不工作
- 9. 使用node express和mongoLAB的Heroku項目
- 10. 如何在Breeze.js中使用MongoLab Api?
- 11. 如何使用MongoLab在Heroku上設置MongoDB數據庫?
- 12. 從Heroku連接到MongoLab時,應用程序超時
- 13. Node.js無法連接到從Heroku到Mongolab的mongodb 3:SCRAM-SHA-1
- 14. MongoLab和Heroku沒有貓鼬
- 15. Heroku項目與rails和mongoLAB
- 16. Heroku無法驗證mongolab
- 17. 的Heroku將無法運行mongolab應用
- 18. 如何將我的回購附加到heroku應用程序
- 19. Python mongolab REST api
- 20. 如何將一個None值附加到Python中的列表中?
- 21. 如何在python中將兩個值附加到字典中?
- 22. 如何在python中將項目附加到列表中一次
- 23. 如何將多個值附加到Python中的列表中
- 24. 如何將浮點數附加到Python中的列表中
- 25. 如何連接到mongoLab?
- 26. python:附加到數據使用json.dumps
- 27. 如何安裝Heroku的附加元件
- 28. python optparse,如何在使用輸出中包含附加信息?
- 29. 如何用MongoLab和Heroku管理多個數據庫?
- 30. 從python中的文件中附加特定單詞到列表
沒有具體解決Heroku,這是OP的問題。 – claymation 2013-03-18 21:18:07