MongoDB: Connexion réinitialisée par les pairs
Question
J'ai un serveur en cours d'exécution sur une mongo boîte Ubuntu, et je suis en train de s'y connecter avec pymongo en utilisant la syntaxe habituelle:
from pymongo import Connection
c = Connection('db.example.com', 27017)
Cela fonctionne très bien sur un modèle récent Intel Mac (OS 10.6). Cependant, le même code sur une tour G5 plus (10.5) renvoie cette erreur:
pymongo.errors.AutoReconnect: [Errno 54] Connection reset by peer
La sortie mongo sur les rapports du serveur:
connection accepted from oldmac.example:57681 #3
bad recv() len: 973078528
end connection oldmac.example:57681
Je sais que je ne peux pas exécuter le serveur MongoDB du Mac PPC, mais il semble étrange que je ne serais pas en mesure de se connecter à la base de données distante. Ou est quelque chose d'autre en faute?
La solution
On dirait Mike Dirolf déjà répondu à votre question dans le MongoDB Google Group. Mais pour les personnes en même question et se trouvent sur cette page, la solution de Mike Dirolf:
Utilisez-vous l'extension C? (essayer pymongo.has_c ()). Je ne pense pas que l'extension C serait même construction sur PPC, mais si elle a fait cela est presque certainement la raison pour laquelle ce n'est pas travail. Vous pouvez installer w / o C avec
python setup.py install --no_ext
et alors je vous attends à des choses à travailler.- Mike Dirolf
Autres conseils
j'ai pu résoudre ce même problème en utilisant MongoClient
au lieu du Connection
désapprouvée.
Dans le pilote Python pour la page de MongoDB
Attention DEPRECATED: La connexion est dépréciée. S'il vous plaît utiliser MongoClient à la place.
Pour plus d'informations, consultez le nouveau MongoClient documentation pour Python.