Frage

Ich habe einen Mongo -Server auf einer Ubuntu -Box und versuche mit der üblichen Syntax mit Pymongo herzustellen:

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

Dies funktioniert bei einem kürzlich erschienenen Intel Mac (OS 10.6) einwandfrei. Der gleiche Code in einem älteren G5 -Turm (10.5) wirft jedoch diesen Fehler aus:

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

Die Mongo -Ausgabe auf den Serverberichten:

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

Ich weiß, dass ich den MongoDB -Server nicht vom PPC -Mac ausführen kann, aber es scheint seltsam, dass ich keine Verbindung zur Remote -Datenbank herstellen könnte. Oder ist noch etwas schuld?

War es hilfreich?

Lösung

Sieht so aus, als hätte Mike Dirolf Ihre Frage bereits in der MongoDB Google -Gruppe beantwortet. Aber für Menschen, die das gleiche Problem erleben und sich auf dieser Seite befinden, die Lösung von Mike Dirolf:

Verwenden Sie die C -Erweiterung? (Versuchen Sie es mit pymongo.has_c ()). Ich würde nicht glauben, dass die C -Erweiterung sogar auf PPC aufbauen würde, aber wenn dies der Fall wäre, ist dies mit ziemlicher Sicherheit der Grund, warum dies nicht funktioniert. Sie können w/o c mit installieren python setup.py install --no_ext Und dann würde ich erwarten, dass die Dinge funktionieren.

- Mike Dirolf

Andere Tipps

Ich konnte das gleiche Problem mit Verwendung lösen MongoClient statt der veralteten Connection.

Von dem Python -Fahrer für MongoDB Seite

Warnung veraltet: Die Verbindung ist veraltet. Bitte verwenden Sie stattdessen Mongoclient.

Weitere Informationen finden Sie im neuen Mongoclient -Dokumentation für Python.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top