분류 전체보기(262)
-
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 -
MongoDB 비교연산자 의미 $gt $gte $lte $lt
요약 MongoDB, Mongoose 라이브러리 에서 사용 되는 비교 연산자 의미 및 사용 방법 사용 범위 Number 타입 필드 String 타입 필드 * string 경우 알파벳 순서를 기준으로 문자열을 비교함 Date 타입 필드 의미 gt : 초과 gte : 이상 lt : 미만 lte : 이하 사용 방법 gt ex) type : 3을 초과 값을 검색하는 경우 ex) time : 2023-10-29:00:00:00 시간을 초과 값을 검색하는경우 db.collection.find({type:{$gt:3}}) db.collection.find({time:{$gt:ISODate('2023-10-29')}}) gte ex) type : 3을 이상 값을 검색하는 경우 ex) time : 2023-10-29:0..
2023.10.29 -
Docker build 시 bcrypt 에러 해결 방법 Error: Error loading shared library...
배경 bcrypt bcryptjs와 다르게 C++으로 라이브러리가 만들어져있다. bcrypt는 node에 기본적인 모듈을 사용한다. docker build시 node:xx-alpine 를 사용한다. 원인 bcrypt가 node에서 C++로 구성된 제공하는 모듈을 사용하는데 이 때 node의 alpine 버전을 설치하면 사용되는 Dependencies가 없어서 에러가 나타난다. 해결 방법 dockerfile을 수정 한다 yarn install 명령어 이후 한번 더 bcrypt를 설치한다. multistage-build를 사용하여 용량을 줄이고 빌드를 진행한다. Docker multistage-build 설명 multistage-build는 빌드에 사용하는 Dependencies만 가져오기 때문에 용량을 줄..
2023.10.29 -
불안정한 타겟 요청 시 서버 요청 방법
상황 크롤링 작업 시 종종 서버 상태가 응답 속도가 느리거나, 요청에 대한 대답을 못하고 500에러를 내보내는 타켓 서버가 존재한다. 그래서 크롤링 진행 시 요청 시간을 길게 잡고 가야하는데 무턱대고 길게 잡으면 크롤링 작업 시간이 배로 늘어나게 될수있다. 그래서 Exponential backoff 전략을 사용한다. Exponential backoff 자세한 설명이다. Exponential backoff - Wikipedia From Wikipedia, the free encyclopedia Rate-seeking algorithm Look up backoff in Wiktionary, the free dictionary. Exponential backoff is an algorithm that uses..
2023.06.14