MongoDB Community Download | MongoDB 에서 다운로드 받고 설치를 진행한다.
MongoDB 를 설치한 경로를 환경변수에 추가해준다.
mongoDB 에서 계정을 생성한다.
$ mongo
>use admin
switched to db admin
> db.createUser({user:"futQualizer", pwd:passwordPrompt(),roles:["dbAdmin"]})
Successfully added user: { "user" : "futQualizer", "roles" : [ "dbAdmin" ] }
Python 과 MongoDB 를 연결하는 방법이 여러가지가 있지만
가장 간단해 보이는 djongo를 써야겠다.
Django 아님!
pip install djongo
project/ settings.py 파일에 사용할 DB 를 수정해준다.
DATABASES = {
'default': {
'ENGINE': 'djongo',
'ENFORCE_SCHEMA': True,
'LOGGING': {
'version': 1,
'loggers': {
'djongo': {
'level': 'DEBUG',
'propogate': False,
}
},
},
'NAME': 'futQualizer',
'CLIENT': {
'host': '127.0.0.1', #주소
'port': 27017, #포트
'username': 'futQualizer', #계정
'password': "admin", #비밀번호
'authSource': 'admin',
'authMechanism': 'SCRAM-SHA-1'
}
}
}
models.py 파일에서 import 했던 django.db 를 djongo 로 변경한다.
#player/models.py
from djongo import models
# Create your models here.
class Player(models.Model):
...
⚠️ djongo 를 1.3.6 다운받으니 pymongo 4.1.1 버전이 자동으로 다운받아 지는데,
그대로 실행하면
NotImplementedError: Database objects do not implement truth value testing or bool(). Please compare with None instead: database is not None 에러가 발생한다.
검색 해보니 pymongo 가 django 4.0.6 버전과 호환이 잘 안되는가 보다.
지우고 3.12.1 버전으로 다시 설치해준다.
pip uninstall pymongo
pip install pymongo==3.12.1
이제 프로젝트를 migrate를 해준다.
python .\manage.py migrate
이제 데이터를 쌓는 로직을 실행시키면 MongoDB에 쌓이게 된다!!
def index(request):
start = int(request.GET.get('start'))
end = int(request.GET.get('end'))
added_players = []
for i in range(start,end):
added_players.append(parse_futbin_page(i))
time.sleep(2)
return HttpResponse(added_players, content_type="text/json-comment-filtered")
/parse/?start=8&end=9
mongoDB 관련은 Add a MongoDB Driver — Start with Guides 를 확인하자