MongoDB: Connessione ripristinata dal peer
Domanda
Ho un assistente di Mongo in esecuzione su una casella di Ubuntu, e sto cercando di connettersi ad esso con pymongo usando la sintassi solita:
from pymongo import Connection
c = Connection('db.example.com', 27017)
Questo funziona bene su un recente modello Intel Mac (OS 10.6). Tuttavia, lo stesso codice su una torre più antica G5 (10.5) genera questo errore:
pymongo.errors.AutoReconnect: [Errno 54] Connection reset by peer
L'uscita Mongo sulle relazioni del server:
connection accepted from oldmac.example:57681 #3
bad recv() len: 973078528
end connection oldmac.example:57681
Lo so che non posso eseguire il server MongoDB dal PPC Mac, ma sembra strano che non sarei stato in grado di connettersi al database remoto. O è qualcos'altro colpa?
Soluzione
appare come Mike Dirolf già risposto alla tua domanda nel gruppo Google MongoDB. Ma per le persone vivendo lo stesso problema e si trovano in questa pagina, la soluzione da Mike Dirolf:
Si sta utilizzando l'estensione C? (provare pymongo.has_c ()). Non penserei che l'estensione C sarebbe anche costruire su PPC, ma se lo ha fatto che è quasi certamente la ragione per cui questo non è Lavorando. È possibile installare w / o C con
python setup.py install --no_ext
e quindi mi aspetto che le cose al lavoro.- Mike Dirolf
Altri suggerimenti
sono stato in grado di risolvere questo stesso problema utilizzando MongoClient
invece del Connection
deprecato.
Python per la pagina di MongoDB
Attenzione DISAPPROVATO: Connection è deprecato. Si prega di utilizzare MongoClient invece.
Per ulteriori informazioni, vedere il nuovo MongoClient documentazione per Python.