Pymongo отказывается от подключения 27017

Я пытаюсь запустить простую связь с pymongo, но он продолжает возвращать, что было отказано в соединении

Вот что я пробовал:

>>>from pymongo import Connection
>>>connection = Connection('localhost',27017)

вот что я получаю

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

Как это исправить?

Ответ 1

Удаление mongod.lock из

/var/lib/mongod

И тогда перезапуск сервиса должен это сделать. Например, в моей установке Ubuntu перезапуск сервера выглядит примерно так:

sudo service mongodb start

Ответ 2

Просто попробуйте выполнить команды в заданном порядке:

sudo rm /var/lib/mongodb/mongod.lock

sudo mongod --repair

sudo service mongodb start

sudo service mongodb status

Теперь вы можете видеть следующее как вывод последней команды:

mongodb start/running, process 2796

Ответ 3

Для тех, кто имеет эту проблему на удаленном сервере, а не в localhost, попробуйте включить внешние интерфейсы:

  • Перейдите в конфигурационный файл (например,/etc/mongodb.conf)
  • Найти bind_ip = 127.0.0.1
  • Комментируйте, что строка С# на передней панели
  • Перезапустить mongod

Ответ 4

Похоже, что вы не можете запускать сервер MongoDB. Одна вещь, которая часто меня вызывает, заключается в том, что если сервер был закрыт нечисто, он откажется запускаться снова, пока вы не удалите файл mongod.lock из каталога данных.

Ответ 5

Вместо того, чтобы удалять mongod.lock, я бы рекомендовал запустить "mongod --repair". (Я полагаю, что лучше войти через входную дверь, когда это возможно. И могут быть и другие вещи, которые это улавливает, AFAIK.)

Ответ 6

Попробуйте следующие команды:

sudo service mongod start
sudo service mongod status

db.py

import pymongo
from pymongo import MongoClient
#mongo client is connected
client = MongoClient()
db     = client['db']