该文档仅讨论如何从 ruby 执行此操作。
问问题
6618 次
5 回答
11
这是来自 MongoLab 的 Will。我们有一个通用示例,说明如何使用官方 python 驱动程序(pymongo)在 Python 中进行连接。此示例不适用于从 Heroku 进行连接,但应该类似。不同之处在于您需要从 Heroku ENV 环境中提取驱动程序配置以提供给驱动程序。
https://github.com/mongolab/mongodb-driver-examples/blob/master/python/pymongo_simple_example.py
如果您仍有问题,请随时通过 support@mongolab.com 直接与我们联系
-将要
于 2012-01-14T02:21:25.987 回答
7
我正在使用以下内容:
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)
于 2012-08-20T14:57:28.450 回答
4
heroku config
将插件安装到 Heroku 应用程序后,通过在命令行上运行来获取连接字符串设置。
将以这种形式出现一个带有 MONGOLAB_URI 键的条目:
MONGOLAB_URI => mongodb://user:pass@xxx.mongolab.com:27707/db
通过从 uri 字符串创建连接,只需从 python 中的 uri 获取信息。
于 2012-01-14T02:33:46.017 回答
2
我认为这样的事情应该有效:
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'})
于 2012-07-18T12:57:34.117 回答
2
PyMongo 现在提供了get_default_database()
一种使整个练习变得简单的方法:
from pymongo import MongoClient
client = MongoClient(os.environ['MONGOLAB_URI'])
db = client.get_default_database()
于 2013-08-24T21:50:41.303 回答