분류 전체보기(259)
-
filter(Boolean) 사용 방법
사용 범위배열 안에 부정문 (false, 0, -0, '', null, undefined, NaN)을 filter 처리 사용 예시const data = [false, 0, -0, '', null, undefined, NaN, 123];const result = data.filter(Boolean);console.log(result); // [123]
2024.05.13 -
Promise.all() 사용 방법
1. 사용 범위비동기 요청을 병렬적으로 요청을 진행 할 때 2. 사용 예시const [test, test2] = await Promise.all([ testModel1.findOne(), testModel2.findOne(),]); await Promise.all([ testModel1.create(), testModel2.create(),]); 3. 에러 처리에러 처리 시 외부에서 try/catch는 Promise.all의 에러를 잡지 못한다.그래서 Promise.all 에러를 잡으려고 한다면 프로미스 체인을 통해 에러를 catch 해야한다. const [test, test2] = await Promise.all([ testModel2.findOne(), testMode..
2024.05.13 -
Mongoose ($inc) Number 값을 자동으로 변환 하는 방법
배경 Number타입의 필드를 요청 당 설정 값으로 값을 올려야 할 때 해결방안 $inc 사용 사용방법 변경 값을 +2 하는 방법 Model.updateOne({ 조건 값 }, { $inc: { 변경해야하는 필드 : 2 } }); 변경 값을 -2 하는 방법 Model.updateOne({ 조건 값 }, { $inc: { 변경해야하는 필드 : -2 } }); 변경 값이 여러개 경우 Model.updateOne({ 조건 값 }, { $inc: { 변경해야하는 필드1 : -2, 변경해야하는 필드2 : 3 } });
2024.01.13 -
Mongoose ($addToSet) 배열 필드에 중복 되지 않는 데이터 넣는 방법
배경 MongoDB를 사용에 장점인 배열 필드에 데이터를 넣을 때 중복된 데이터를 넣으면 안되는 상황 해결방안 $addToSet를 사용한다. 사용방법 Model.updateOne({ 찾는 조건 값 }, { $addToSet: { 배열 필드 명 : 들어가야하는 데이터 } });
2024.01.13 -
MongoDB field 제거 방법
배경 MongoDB에서 개발 중 필요 없는 필드에 데이터가 쌓임 원인 개발 중 사용하지 않는 필드가 존재, 또는 마이그레이션이 진행 된 이후 사용되지 않는 필드가 존재 해결 방안 shell 명령어 db.{삭제해야하는 필드가 있는 컬렉션}.update({검색 조건}, {$unset:{삭제해야하는 필드명 : 1}}) * { $unset : { 삭제해야하는 필드명 : 1 } } 명령어는 필드를 제거한다는 의미이다.
2024.01.13 -
docker-compose 사용 방법
docker로 단일 컨테이너만 사용하다 DB연결 처럼 여러개의 컨테이너를 한 번에 사용하려고 docker-compose를 사용하게 되었다. docker-compose 사용이유 (Chat gpt) 다중 컨테이너 관리: docker-compose를 사용하면 여러 개의 컨테이너를 하나의 프로젝트로 정의하고 실행할 수 있습니다. 이는 여러 서비스 간의 의존성이 있는 경우에 특히 유용합니다. 간편한 정의 파일: docker-compose.yml 파일을 사용하여 컨테이너, 네트워크, 볼륨 등을 정의할 수 있습니다. 이 파일은 간결하면서도 컨테이너 간의 관계를 명확히 정의할 수 있습니다. 환경 구성의 통일성: docker-compose.yml 파일에 환경 변수, 포트 매핑, 볼륨 마운트 등을 정의하여, 여러 환경에서..
2023.12.31