如何在Django中连接远程mongo db

时间:2019-02-16 05:53:37

标签: django mongodb

我正在尝试在本地系统中借助Django与远程mongoDB连接

我正在使用atom IDE,我已为mongoDB配置并安装了djongo

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'Test_Jango',
   }
}

我希望将远程MongoDb与Django连接起来。

2 个答案:

答案 0 :(得分:1)

对于当前版本的 djongo (1.3.4),许多设置已移至 CLIENT 部分。

DATABASES = {
    "default": {
        "ENGINE": "djongo",
        "NAME": "your-db-name",
        "CLIENT": {
            "host": "db1.mongo.example.com",
            "port": 27017,
            "username": "...",
            "password": "...",
            "authSource": "admin",
        },
    },

有关详细信息,请参阅官方文档 Database Configuration 页上的 Get Started 部分。

目前尚不清楚更改的确切版本,但代码更改是从 2020 年 2 月 8 日的 this commit 开始的,因此根据软件包的 release history timeline,大约是 1.3.1 版。

答案 1 :(得分:0)

尝试添加密码。

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'Test_Jango',
        'PASSWORD': 'your_password',
   }
}

settings.py支持以下选项:

DATABASES = {
        'default': {
            'ENGINE': 'djongo',
            'ENFORCE_SCHEMA': True
            'NAME': 'your-db-name',
            'HOST': 'host-name or ip address',
            'PORT': port_number,
            'USER': 'db-username',
            'PASSWORD': 'password',
            'AUTH_SOURCE': 'db-name',
            'AUTH_MECHANISM': 'SCRAM-SHA-1',
            'REPLICASET': 'replicaset',
            'SSL': 'ssl',
            'SSL_CERTFILE': 'ssl_certfile',
            'SSL_CA_CERTS': 'ssl_ca_certs',
            'READ_PREFERENCE': 'read_preference'
        }
    }