3

ドキュメントでは、Ruby から行う方法についてのみ説明しています。

4

5 に答える 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 に答える