Я создаю сайт с использованием Flask, в котором я использую MongoDB с ORM MongoEngine. Чтобы начать новый старт, я теперь обновил все apt и pip пакеты на моей машине разработки Ubuntu 14.04. К сожалению, это сломал мое подключение к MongoDB:Не удается подключиться к MongoDB после обновления?
Traceback (most recent call last):
File "./run.py", line 4, in <module>
from app import app, socketio
File "/home/kr65/beta/app/__init__.py", line 21, in <module>
mongoDb = MongoEngine(app)
File "/usr/local/lib/python2.7/dist-packages/flask_mongoengine/__init__.py", line 33, in __init__
self.init_app(app)
File "/usr/local/lib/python2.7/dist-packages/flask_mongoengine/__init__.py", line 66, in init_app
self.connection = mongoengine.connect(**conn_settings)
File "/usr/local/lib/python2.7/dist-packages/mongoengine/connection.py", line 164, in connect
return get_connection(alias)
File "/usr/local/lib/python2.7/dist-packages/mongoengine/connection.py", line 126, in get_connection
raise ConnectionError("Cannot connect to database %s :\n%s" % (alias, e))
mongoengine.connection.ConnectionError: Cannot connect to database default :
False is not a read preference.
я проверил, если MongoDB составляет:
$ sudo service mongodb status
mongodb start/running, process 781
и если бы я мог получить в интерактивной командной строке:
$ mongo
MongoDB shell version: 2.4.9
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
Tue Apr 14 09:14:10.267 [initandlisten]
Tue Apr 14 09:14:10.267 [initandlisten] ** WARNING: You are running in OpenVZ. This is known to be broken!!!
Tue Apr 14 09:14:10.267 [initandlisten]
>
Я Ждут» t что-либо изменить код или пароли или что-то в этом роде. Я перезагрузился и перезапустил mongoDB, но ничего не работает. Мои настройки так:
MONGODB_SETTINGS = {
'db': 'mydatabasename'
}
и я инстанцирует соединение вроде этого (который работал раньше):
app = Flask(__name__)
app.config.from_object('config')
mongoDb = MongoEngine(app)
Поскольку я не реально изменить что-либо, я вроде не знаете, куда искать решение. Есть ли у кого-нибудь советы, как я могу это решить?
[EDIT] С кончиком @lapinkoira мой MongoDB теперь запускается правильно, но теперь я получаю ошибку ниже при запросе. Любые идеи, как решить эту проблему?
File "/home/kr65/beta/app/views/webviews.py", line 476, in getDoc
userDoc = UserDocument.objects(id=docId).first()
File "/usr/local/lib/python2.7/dist-packages/mongoengine/queryset/base.py", line 309, in first
result = queryset[0]
File "/usr/local/lib/python2.7/dist-packages/mongoengine/queryset/base.py", line 160, in __getitem__
return queryset._document._from_son(queryset._cursor[key],
File "/usr/local/lib/python2.7/dist-packages/mongoengine/queryset/base.py", line 1410, in _cursor
**self._cursor_args)
File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 924, in find
return Cursor(self, *args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'snapshot'
Какая версия pymongo у вас была и какая версия у вас есть сейчас? – lapinkoira