Django配置默认链接MongoDB数据库

前言:

Django在settings中默认可以配置的数据库有:mysql、 oracle、 postgresql、 sqlite3等;
我们如果想在Django中使用MongoDB数据库,一般大多数都是使用的三方库:mongoengine,
来做模型设计及链接使用,因为这样就可以像Django中的orm一样,来操作MongoDB数据库;
而如果我们想在Django中像配置mysql,oracle等关系型数据库来配置并操作MongoDB呢?
这样是不是就可以直接使用Django的ORM来操作MongoDB呢?
其实Django官方文档中有说明,可以默认配置其他数据库,只是,不建议使用非关系型数据库
下面我们一起来看下,如何默认使用MongoDB吧

安装第三方库

注意哦,安装的是djongo,不是django

pip install djongo

以下为官方文档中,完整的数据库配置文件

 DATABASES = {
        'default': {
            'ENGINE': 'djongo',
            'NAME': 'your-db-name',
            'ENFORCE_SCHEMA': False,
            'CLIENT': {
                'host': 'host-name or ip address',
                'port': port_number,
                'username': 'db-username',
                'password': 'password',
                'authSource': 'db-name',
                'authMechanism': 'SCRAM-SHA-1'
            },
            'LOGGING': {
                'version': 1,
                'loggers': {
                    'djongo': {
                        'level': 'DEBUG',
                        'propagate': False,                        
                    }
                },
             },
        }
    }

MongoDB默认是不开启用户验证的,所以,不需要添加用户及密码,只需要有ip or address and port

DATABASES = {
    'default': {
        'ENGINE': 'djongo',		# 填写上面安装的模块:djongo
        'ENFORCE_SCHEMA': True,	# True:确保模型架构和数据库架构完全相同。引发Migration Error的差异而发生。
        # 'ENFORCE_SCHEMA': False,	# False:(默认)隐式创建集合。返回缺失的字段None而不是引发异常。
        'NAME': 'test',			# 填写数据库名字
        'CLIENT': {
            'host': '10.70.12.13',		# ip or address
            'port': 27017				# port (default=27017)
        }
    }
}

当然,如果想你的MongoDB开启用户验证,则需要将MongoDB数据库配置文件:mongod.cfg做以下修改,修改后重启数据库即可生效

# mongod.cfg 文件中找到以下字段
#security:
authorization: enabled

以上就是在Django中使用MongoDB做为默认链接数据库,Django中的ORM,基本上都可以直接使用来操作MongoDB,想看完整数据库文档,可以访问Django的: 操作文档

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tian丶Yuting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值