Python コードから MongoDB に接続する必要があります。持っているのは URL だけです。mongo URL docごとに、データベース名を指定できます。
mongodb://host/db_name
URLから指定された正確なデータベースを使用したいので、手動で解析してデータベースの名前を抽出したくありません。ただし、MongoClient
デフォルトのインターフェイスにアクセスするためのインターフェイスはありません。これを管理する方法はありますか?
Python コードから MongoDB に接続する必要があります。持っているのは URL だけです。mongo URL docごとに、データベース名を指定できます。
mongodb://host/db_name
URLから指定された正確なデータベースを使用したいので、手動で解析してデータベースの名前を抽出したくありません。ただし、MongoClient
デフォルトのインターフェイスにアクセスするためのインターフェイスはありません。これを管理する方法はありますか?
PyMongo/MongoClient は (現在)get_default_database()
メソッドを提供しています:
from pymongo import MongoClient
client = MongoClient("mongodb://host/db_name")
db = client.get_default_database()
これには pymongo.uri_parser.parse_uri を使用できます。
Python 2.7.5 (default, Jul 12 2013, 14:44:36)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> uri = "mongodb://user:pass@example.com/my_database/?w=2"
>>> from pymongo.uri_parser import parse_uri
>>> parse_uri(uri)
{'username': 'user', 'nodelist': [('example.com', 27017)], 'database': 'my_database/',
'collection': None, 'password': 'pass', 'options': {'w': 2}}
PyMongo 2.6 には、このための get_default_database() メソッドがあります。PYTHON-461を参照