我试图运行一个简单的连接到pymongo但它一直返回,连接被拒绝
这是我尝试过的:
>>>from pymongo import Connection
>>>connection = Connection('localhost',27017)
Run Code Online (Sandbox Code Playgroud)
这就是我得到的
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.0.1_-py2.7-linux i686.egg/pymongo/connection.py", line 348, in __init__
self.__find_node()
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.0.1_-py2.7-linux- i686.egg/pymongo/connection.py", line 627, in __find_node
raise AutoReconnect(', '.join(errors))
pymongo.errors.AutoReconnect: could not connect to localhost:27017: [Errno 111] Connection refused
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
小智 45
mongod.lock从中移除
/var/lib/mongodb
rm mongod.lock
Run Code Online (Sandbox Code Playgroud)
然后重新启动服务应该这样做.例如,在我的Ubuntu安装中,重新启动服务器是这样的:
sudo service mongodb start
Run Code Online (Sandbox Code Playgroud)
mui*_*inh 17
如果您发现此页面是因为使用 Docker 并且遇到连接问题,请尝试在客户端初始化中使用 mongodb 的 docker 容器名称,而不是localhost:27017或0.0.0.0:27017
修复步骤:
docker ps在控制台中写入NAMESMongoClient('mongodb://CONTAINER_NAME')利润。
Ked*_*kar 12
只需按给定顺序尝试以下命令:
sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair
sudo service mongodb start
sudo service mongodb status
Run Code Online (Sandbox Code Playgroud)
现在你可以看到以下作为最后一个命令的输出:
mongodb start/running, process 2796
对于在远程服务器而不是localhost上遇到此问题的任何人,请尝试启用外部接口: