728x90
MBTI 데이터를 정리하고
각 유형별 데이터를 확인해보니 문제가 생겼다.
위와같이 동일하거나 비슷한 이름의 컬럼이 여러개 있어 정리가 잘 되지 않는것이다.
예를들면
MBTI : "INFJ"
MBTI 유형 : "INFJ"
MBTI 성격유형 : "INFJ"
이 모두 다른 데이터로 표시되는 것이다.
방법은 하나다.
비슷한 컬럼명을 찾아
동일한 이름의 컬럼명으로 변경하는것.
방법을 찾아봤는데
알려진 간단한 방법은 없는 것 같았다.
그래서 아래와 같이 해결했다.
1. find() 명령어로 모든 데이터를 가져옴
2. 해시 테이블에 모든 컬럼명을 Set을 통해 담음
3. 비슷한 값을 모니터링해서 하나의 컬럼으로 합침
우선 updateParam 함수는
1번째 인자(배열)을 순회하며
2번째 인자로 받은 키워드를 포함한 필드명을 updateMany 쿼리를 통해
3번째 인자로 일괄변경하는 로직이다.
즉
인자로
1. 모든 필드
2. MBTI
3. MBTI
를 넘기면
모든 필드에서
MBTI가 들어가는 모든 필드명을
MBTI로 변경하게 되는 것이다.
이 함수를 통해 문제를 해결한다면
이런식으로 변경할 유사 키워드를 동일한 이름으로 변경하는 로직을 완성할 수 있다.
컬럼은 계속 추가될 수 있으므로, 추가되는 내용은 이 함수에 이어서 작성한다.
이후 프로필이 추가되면 replaceColumn 함수를 재실행하여 컬럼 내용을 수정해준다.
728x90
'MBTI Project' 카테고리의 다른 글
자바스크립트를 통해 mongoDB에서 데이터 필터링하고, 해당 데이터 모아서 다른 테이블에 저장하기 (0) | 2021.12.02 |
---|---|
간만에 커밋. 나무위키 크롤링하기 (0) | 2021.07.19 |
2020.11.25오늘의 커밋. MBTI Project를 Vue로 변경 (0) | 2020.11.25 |
Prisma를 통한 개발 인프라 구축 - Prisma와 node 서버 연동 (0) | 2020.11.19 |
Prisma를 통한 개발 인프라 구축 - Prisma 설치 및 CRUD (0) | 2020.11.18 |