전체 글(260)
-
find() 함수 대신 Set으로 배열에 해당 값이 존재 하는지 확인 방법
Set.has() 함수를 사용하면 된다. find 함수는 반복문으로 작동하기 때문에 O(n) 시간 복잡도로 작동하고Set.has() 함수 경우에는 O(1) 시간 복잡도로 작동하기 때문에 속도가 훨씬 빠르다* 단 객체와 같은 복잡한 값은 불가능하고, 단순데이터 "String", "Number" 타입만 가능하다. ex)const s1 = "value1"const s2 = "value2"const s3 = "value3"const mySet = new Set([obj1, obj2, obj3]);mySet.has("value2") // truemySet.has("value5") // false
2024.07.05 -
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