安装/配置
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