Mongodb: сброс соединения по пиру - PullRequest
3 голосов
/ 03 июня 2010

У меня есть сервер Mongo, работающий на Ubuntu, и я пытаюсь подключиться к нему с помощью pymongo, используя обычный синтаксис:

from pymongo import Connection
c = Connection('db.example.com', 27017)

Это прекрасно работает на новейшей модели Intel Mac (OS 10.6). Однако тот же код на более старой башне G5 (10.5) выдает эту ошибку:

pymongo.errors.AutoReconnect: [Errno 54] Connection reset by peer

Монго вывод на сервер сообщает:

connection accepted from oldmac.example:57681 #3
bad recv() len: 973078528
end connection oldmac.example:57681

Я знаю, что не могу запустить сервер mongodb с PPC Mac, но странно, что я не смогу подключиться к удаленной базе данных. Или что-то еще не так?

Ответы [ 2 ]

2 голосов
/ 05 июня 2010

Похоже, Майк Дирольф уже ответил на ваш вопрос в MongoDB Google Group. Но для людей, испытывающих ту же проблему и оказавшихся на этой странице, решение от Майка Дирольфа:

Используете ли вы расширение C? (пытаться pymongo.has_c ()). Я бы не подумал что расширение C будет даже строить на КПП, но если он сделал это почти конечно, причина этого не за работой. Вы можете установить без C с python setup.py install --no_ext и тогда я ожидаю, что все будет работать.

- Майк Дирольф

0 голосов
/ 08 июня 2013

Я смог решить эту же проблему, используя MongoClient вместо устаревшего Connection.

Из драйвера Python для MongoDB страница

Предупреждение УСТАРЕЛО: Соединение устарело. Пожалуйста, используйте MongoClient вместо этого.

Для получения дополнительной информации см. Новую документацию MongoClient для Python.

...