Tech/Django

[Django] Django와 MongoDB 연동 - Djongo 사용

닝닝깅 2022. 3. 26. 22:32

Django와 연동할 데이터베이스로 MongoDB를 선택했다.

MongoDB를 사용하는 이유는 자연어처리를 거친 데이터들의 정확한 데이터 구조를 알기 어려워 명확한 스키마가 있는 SQL형태의 데이터베이스보다는 NOSQL인 MongoDB가 더 적합할 것 같다고 생각했기 때문이다.

 

Django와 MongoDB를 연동하는 방법에는 여러가지가 있었지만 Djongo를 사용해 가장 간단하게 연동해보았다.

 

개발환경 : python 3.10.3

 

1. Djongo를 설치한다.

pip install djongo

 

에러 발생

: Not Implemented Error: Database objects do not implement truth value testing or bool().

 

발생 이유 = 최신 버전의 pymongo가 djongo를 지원하지 않기 때문이다.

해결법 = pymongo를 버전 3.12.1으로 재설치한다.

pip install pymongo==3.12.3

 

2. Django 프로젝트의 setting.py 중 DATABASE 항목를 수정한다.

DATABASES = {
       'default': {
           'ENGINE': 'djongo',
           'NAME': 'db-name', //원하는 데이터베이스 이름
       }
   }

 

3. migrate시켜 데이터베이스 테이블을 생성한다.

py manage.py migrate

 

4. 개발 서버를 실행시킨다.

py manage.py runserver

 

 

 

출처)

MongoDB의 특징

https://meetup.toast.com/posts/275

 

mongoDB Story 2: mongoDB 특징과 구성요소 : NHN Cloud Meetup

mongoDB는 관계를 갖지 않고 유연한 스키마 구조를 갖는 도큐먼트 데이터베이스입니다. 2부에서는 mongoDB의 특징과 객체, 스키마 등의 구성요소에 대한 개념을 소개합니다.

meetup.toast.com