3

UbuntuボックスでMongoサーバーを実行していて、通常の構文を使用して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

サーバー上のmongo出力は次のように報告します。

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

PPC Macからmongodbサーバーを実行できないことは知っていますが、リモートデータベースに接続できないのは奇妙に思えます。それとも何か他の問題がありますか?

4

3 に答える 3

2

Mike Dirolfは、MongoDBGoogleグループですでにあなたの質問に回答しているようです。しかし、同じ問題を経験していて、このページにいる人のために、MikeDirolfの解決策は次のとおりです。

C拡張機能を使用していますか?(pymongo.has_c()を試してください)。C拡張機能がPPC上に構築されるとは思いませんが、それが構築された場合、これが機能しない理由はほぼ間違いありません。Cなしでインストールできます python setup.py install --no_ext。そうすれば、うまくいくと思います。

-マイク・ディロルフ

于 2010-06-05T00:15:32.600 に答える
0

MongoClient非推奨の代わりにを使用することで、この同じ問題を解決することができましたConnection

MongoDBページのPythonドライバーから

警告非推奨:接続は非推奨です。代わりにMongoClientを使用してください。

詳細については、Python用の新しいMongoClientドキュメントを参照してください。

于 2013-06-08T13:34:18.073 に答える
0

python3.8で同じ問題に直面していました。pymongoをアップグレードおよびダウングレードしようとしましたが、結果はピアによって同じ接続リセットになりました。

この問題を解決するには、python3.8をアンインストールしてpython3.7をインストールすると、正常に動作します。これで、mongodbに接続して、クエリを実行できるようになりました。

于 2021-06-08T03:04:55.990 に答える