如何在Django项目中使用Mongodb

安装/配置

1、安装djongo

 python3 -m pip install djongo

2、在Django项目的settings.py文件中修改:

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'your-db-name',
        'HOST': 'your-db-host',
    }
}

3、执行


python manage.py makemigrations && python manage.py migrate

需要:

Python 3.6 及以上;
MongoDB 3.6 及以上;

在这里插入图片描述

原理

仅对现有的Django ORM框架修改了一点点。只是把SQL query string转换成了MongoDB query document.

基本操作

将id为1的对象的is_using设置为false:

db.monitor_userpass.update({'id':1},{$set:{'is_using':false}})

参考:

https://www.youtube.com/watch?v=iKB_4HWKMCc
https://djongo.readthedocs.io/docs/get-started/
https://github.com/nesdis/djongo

Bugs

碰到这么一个问题:djongo.sql2mongo.SQLDecodeError
参考:https://stackoverflow.com/questions/49556798/django-mongo-sqldecodeerror-at-admin
https://github.com/nesdis/djongo/issues/244
解决方式:
把sqlparser 0.3.0卸载,然后安装sqlparser 0.2.4即可。

python3 -m pip uninstall sqlparse
python3 -m pip install sqlparse==0.2.4

mongo导出/导入

mongoexport -d GithubScraper -c monitor_searchdescblacklist -o monitor_searchdescblacklist.json
mongoimport -d GithubScraper -c monitor_searchdescblacklist --upsert monitor_searchdescblacklist.json

参考:
https://segmentfault.com/a/1190000006236494

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值