본문 바로가기
반응형

전체 글281

[MongoDB] 내장/중첩 문서에 대한 검색(쿼리) [MongoDB] 객체 안에 객체가 있는 문서 즉, 내장/중첩 문서에 대한 쿼리(검색) * MongoDB Shell에서 진행 아래와 같은 문서 내용을 삽입해준다. db.user.insertMany([ { _id: 1, info: { role: "Magician", level: 15 }, name: "user1", skills: [ "A", "B", "C" ] }, { _id: 2, info: { role: "Warrior", level: 20 }, name: "user11", skills: [ "B" ] }, { _id: 3, info: { role: "Magician", level: 25 }, name: "user111", skills: [ "A", "B" ] }, { _id: 4, info: { ro.. 2023. 3. 9.
[MongoDB] 값 일치, 값 포함 여부로 검색 ($eq, $regex) [MongoDB] $eq, $regex를 이용한 값(문서, 배열)일치, 값 포함 여부(정규식) 검색 $eq 비교 쿼리 연산자(Comparison Query Operators) 중 하나로 지정된 값과 같은 값을 찾는다. $regex 평가 쿼리 연산자 중 하나로 값이 지정된 정규식과 일치하는 문서를 선택한다. * MongoDB Shell에서 진행 아래와 같은 문서 내용을 삽입해준다. db.user.insertMany([ { _id: 1, info: { name: "user1", role: "Magician" }, level: 15, skills: [ "A", "B", "C" ] }, { _id: 2, info: { name: "user11", role: "Warrior" }, level: 20, skills.. 2023. 3. 9.
[MongoDB] 쿼리 및 프로젝션 연산자 - 4. 배열, 비트, 투영, 기타 연산자 배열 쿼리 연산자($all, $elemMatch, $size) 배열 연산자는 배열 조건에 따라 데이터를 반환한다. 1. 배열 쿼리 연산자(Array Query Operators) 이름 설명 $all 쿼리에 지정된 모든 요소를 포함하는 배열과 일치한다. $elemMatch 배열 필드의 요소가 지정된 모든 $elemMatch 조건과 일치하는 경우 문서를 선택한다. $size 배열 필드가 지정된 크기인 경우 문서를 선택한다. 비트 단위 쿼리 연산자($bitsAllClear, $bitsAllSet, $bitsAnyClear, $bitsAnySet) 비트 연산자는 비트 위치 조건에 따라 데이터를 반환한다. 2. 비트 쿼리 연산자(Bitwise Query Operators) 이름 설명 $bitsAllClear 비트.. 2023. 3. 8.
[MongoDB] 쿼리 및 프로젝션 연산자 - 3. 지리-공간 쿼리 연산자 지리-공간 쿼리 연산자(지리-공간 쿼리 선택자, 형상 지정자) 지리-공간 쿼리 연산자(Geospatial Query Operators)는 지리 공간 표현 조건에 따라 데이터를 반환한다. 지리-공간 쿼리 선택자($geoIntersects, $geoWithin, $near, $nearSphere) 1. 지리-공간 쿼리 선택자(Query Selectors) 이름 설명 $geoIntersects GeoJSON 도형과 교차하는 도형을 선택한다. 2dsphere 인덱스는 $geoIntersects를 지원한다. $geoWithin 경계 GeoJSON 도형 내에서 도형을 선택한다. 2dsphere 및 2d 인덱스는 $geoWithin을 지원한다. $near 특정 지점에 근접한 지리 공간 개체를 반환한다. 지리공간 인덱.. 2023. 3. 8.
[MongoDB] 쿼리 및 프로젝션 연산자 - 2. 요소, 평가 연산자 1. 요소 쿼리 연산자($exists, $type) 요소 연산자는 필드 존재 또는 데이터 유형을 기반으로 데이터를 반환한다. 요소 쿼리 연산자(Element Query Operators) 종류 이름 설명 $exists 논리적 AND로 쿼리 절을 조인하여 두 절의 조건과 일치하는 모든 문서를 반환한다. $type 쿼리 식의 효과를 반전시키고 쿼리 식과 일치하지 않는 문서를 반환한다. 2. 평가 쿼리 연산자($exists, $type) 평가 연산자는 개별 필드 또는 전체 컬렉션 문서의 평가를 기반으로 데이터를 반환한다. 평가 쿼리 연산자(Evaluation Query Operators) 종류 이름 설명 $expr 쿼리 언어 내에서 집계 표현식을 사용할 수 있다. $jsonSchema 주어진 JSON 스키마에.. 2023. 3. 7.
[MongoDB] 쿼리 및 프로젝션 연산자 - 1. 비교, 논리 연산자 1. 비교 쿼리 연산자 ($eq, $in, $ne, $nin, $gt, $gte, $lt, $lte) 비교 연산자는 값 비교를 기반으로 데이터를 반환한다. 비교 쿼리 연산자(Comparison Query Operators) 종류 이름 설명 $eq 지정된 값과 같은 값을 찾는다. $in 배열에 지정된 값과 일치한다. $ne 지정된 값과 같지 않은 모든 값과 일치한다. $nin 배열에 지정된 값과 일치하지 않는다. $gt 지정된 값보다 큰 값을 찾는다. $gte 지정된 값보다 크거나 같은 값을 찾는다. $lt 지정된 값보다 작은 값을 찾는다. $lte 지정된 값보다 작거나 같은 값을 찾는다. 2. 논리적 쿼리 연산자 ($and, $not, $ne, $nor, $or) 논리 연산자는 true 또는 false로.. 2023. 3. 7.
[js] 코드 최적화 - 반복문(for-of, for-in), 조건문(if문, switch문) [js] iterable객체의 반복문, if문, switch문의 코드 최적화 방법 (클린코드) * iterable 객체란? 2023.02.18 - [언어/Javascript,TypeScript] - [js] iterable 객체, Array.from [js] iterable 객체, Array.from iterable(반복 가능한) 객체, Array.from 메소드 iterable(반복 가능한) 객체란? 1. 반복 가능한(iterable, 이터러블) 객체는 배열을 일반화한 객체이다. 2. for..of 반복문을 적용할 때 Symbol.iterator를 호출하는 kfdd6630.tistory.com 1. iterable객체의 반복문 배열과 객체의 내부에 접근할 때 단순 for문을 사용하는 것을 지양하고 자바.. 2023. 3. 7.
[MongoDB] 빠른 탐색을 위한 인덱싱(indexing) NestJS(typegoose)에서 MongoDB를 빠르게 탐색하기 위해 인덱스를 사용하는 방법, explain.executionStats를 사용하여 실행속도 확인 아래와 같이 십만개(100,000)의 더미 유저 데이터가 있다. 데이터의 형식은 1. userBase.name이 userDummy0, userDummy1, userDummy2, ... , userDummy99999형식으로 되어 있다. 2. userBase.role은 Wrrior, Thief, Magician 중에 랜덤하게 생성되어 있다. 1. NestJS에서 Index 생성 이전 'userBase.role'이 'Magician'이고 'userBase.name'에 '3'이 포함된 더미 유저데이터를 찾을 때 걸리는 시간을 찾는 코드 async g.. 2023. 3. 6.
[Next.js] Error: There was an error while hydrating this Suspense boundary. Switched to client rendering Next.js 13에서 Error: There was an error while hydrating this Suspense boundary. Switched to client rendering - 웹 사이트내에서 useEffect, useState를 사용하는 페이지에서 출력되는 Error - 콘솔창에서 useEffect, useState를 사용하는 페이지에서 출력되는 Error 서버 HTML이 에 를 포함할 것으로 예상하지 않는다고 Error가 명시되고 있다. Error: There was an error while hydrating this Suspense boundary. Switched to client rendering가 발생할 때 일반적으로 이 문제는 사전 렌더링과 브라우저 간에 다를 수 있는 .. 2023. 3. 6.
[Linux] 리눅스 개발 환경에서 .sh파일 리눅스 개발환경에서 셸 스크립트 (.sh) 파일 만들고 사용하기 셸스크립트란? 1. 셸 스크립트(shell script)는 셸이나 명령 줄 인터프리터에서 돌아가도록 작성되었다. 2. 한 운영 체제를 위해 쓰인 스크립트이다. 3. 단순한 도메인 고유 언어로 여기기도 한다. 4. 셸 스크립트가 수행하는 일반 기능으로는 파일 이용, 프로그램 실행, 문자열 출력 등이 있다. 5. .sh라는 파일 확장자를 가진 파일이 특정 종류의 셸 스크립트를 가리키는 것이 보통이다. 예) push.sh 파일 $ git add . $ git commit -ma $ git push push.sh 파일이 있는 폴더 내부에서 ./push.sh을 타이핑하면 위 명령어들이 실행한다. 예) pull.sh 파일 $ git add . $ gi.. 2023. 3. 5.
반응형