WedX - журнал о программировании и компьютерных науках

подключение к базе данных pymongo по умолчанию

Мне нужно подключиться к MongoDB из моего кода Python, единственное, что у меня есть, это URL-адрес. В документе Mongo URL я могу указать имя базы данных:

mongodb://host/db_name

Теперь я хотел бы использовать именно базу данных, указанную в URL-адресе, и не хочу анализировать ее вручную, чтобы извлечь имя базы данных. Но у MongoClient нет интерфейса для доступа к стандартному. Любые мысли, как управлять этим?

18.07.2013

Ответы:


1

PyMongo/MongoClient (сейчас) предоставляет метод get_default_database():

from pymongo import MongoClient

client = MongoClient("mongodb://host/db_name")
db = client.get_default_database()
24.08.2013

2

Для этого вы можете использовать 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:[email protected]/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.

19.07.2013

3

Похоже, это вообще не работает. При запуске pymongo выдает предупреждение:

UserWarning: имя базы данных или authSource в URI игнорируется.

18.07.2013
Новые материалы

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


Для любых предложений по сайту: [email protected]