我无法将mongodb与django连接起来

时间:2016-05-28 10:25:22

标签: python django mongodb mongoengine database

我使用的是mongoengine。以下是我的设置:

    _MONGODB_USER = 'user1'
    _MONGODB_PASSWD = '12345678'
    _MONGODB_HOST = 'mongodb://user1:damian123@ds99999.mlab.com:23932/projekt_dkjp'
    _MONGODB_NAME = 'baza1'
    _MONGODB_DATABASE_HOST = \
        'mongodb://%s:%s@%s/%s' \
        % (_MONGODB_USER, _MONGODB_PASSWD, _MONGODB_HOST, _MONGODB_NAME)
    mongoengine.connect(_MONGODB_NAME, host=_MONGODB_HOST)
    DATABASES = {
        'default': {
            'ENGINE': '',
        },

}

当我运行服务器时,我看到了这个问题:


      File "C:\Users\vbox\PycharmProjects\Projekt06\projekt\projekt\settings.py", line 90, in 
        mongoengine.connect(_MONGODB_NAME, host=_MONGODB_HOST)
      File "C:\Users\vbox\AppData\Local\Programs\Python\Python35-32\lib\site-packages\mongoengine\connection.py", line 165, in connect
        return get_connection(alias)
      File "C:\Users\vbox\AppData\Local\Programs\Python\Python35-32\lib\site-packages\mongoengine\connection.py", line 128, 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.

2 个答案:

答案 0 :(得分:0)

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'CLIENT': {
            'host': 'mongodb+srv://<URL>',
            'username': 'something',
            'password': 'somepass',
            'authMechanism': 'SCRAM-SHA-1'
        }
    }
}

答案 1 :(得分:-1)

基本上,DATABASES看起来应该是这样的:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': 'mydatabase',
   } 
}

来源:Link

易于理解的图片:

enter image description here

可以找到一个简单的理解文档here