이미 설계 이후에, 스키마가 변경되어서 다큐먼트 필드가 추가되거나 삭제되는 경우가 있다.
이때 새로운 레코드는 해당 필드가 있는데, 기존 레코드에 없다면 좀 이상하기도 합니다.
혹은 필드를 삭제하는 경우도 있어 이경우도 기존 DB 에 반영해야 한다.
Mongoengine 을 이용하는 경우 해당 클래스에 필드를 추가, 삭제하고 난 뒤에,
추가된 필드의 경우 아래처럼 모든 objects 에 해당 필드값을 채워주기만 하면 된다.
해당클래스.objects.update(추가필드1=0,추가필드2="")
삭제되는 필드의 경우 아래처럼 명령을 내리면 해결된다.
해당클래스.objects.update(unset__code=True) # Note: code 라는 필드를 없애라
BJ.
Markus Winkler 님의 사진, 출처: Pexels
'IT > DB' 카테고리의 다른 글
mongodb - Flask mongoengine 필드 동일값을 그룹으로 묶기 (0) | 2021.06.15 |
---|---|
mongodb - Flask mongoengine 필드로 정렬하는 방법 (0) | 2021.06.15 |
Flask mongoengine Objects() 와 Objects.get() 차이점 (0) | 2021.06.09 |
MongoDB 관리자 계정 추가 권한 설정 방법 - db 쓰고 읽기 (0) | 2021.05.09 |
MongoDB 백업하기 - mongodump (0) | 2021.04.30 |