Вопрос

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

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

Вывод Mongo в отчетах сервера:

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

От Водитель Python для mongodb страница

ПРЕДУПРЕЖДЕНИЕ УСТАНОВНО: связь устарела. Пожалуйста, используйте Mongoclient вместо этого.

Для получения дополнительной информации см. Новый МОГОЦИАЛЬНАЯ ДОКУМЕНТАЦИЯ для Python.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top