15

Python コードから MongoDB に接続する必要があります。持っているのは URL だけです。mongo URL docごとに、データベース名を指定できます。

mongodb://host/db_name

URLから指定された正確なデータベースを使用したいので、手動で解析してデータベースの名前を抽出したくありません。ただし、MongoClientデフォルトのインターフェイスにアクセスするためのインターフェイスはありません。これを管理する方法はありますか?

4

3 に答える 3

26

PyMongo/MongoClient は (現在)get_default_database()メソッドを提供しています:

from pymongo import MongoClient

client = MongoClient("mongodb://host/db_name")
db = client.get_default_database()
于 2013-08-24T21:53:11.160 に答える
3

これには 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を参照

于 2013-07-19T22:22:49.153 に答える