집계 명령어(3)

2022. 11. 14. 19:03DB/MongoDB

- 문자열 연산자

$concat : 두 개 이상의 문자열을 단일 문자열로 연결한다.

$strcasecmp : 대/소문자를 구분하지 않는 문자열 비교를 하며, 숫자를 반환한다.

$substrBytes : 문자열의 부분 문장열을 만든다.

$toLower : 문자열을 모두 소문자로 변환한다.

$toUpper : 문자열을 모두 대문자로 변환한다.

item 필드의 값에 "-", "name"을 연결

 

- 산술 연산자

$add : 배열 번호를 추가한다.

$divide : 첫 번째 숫자를 두 번째 숫자로 나눈다.

$mod : 첫 번째 숫자의 나머지를 두 번째 숫자로 나눈다.

$multiply : 숫자 배열을 곱한다.

$subtract : 첫 번째 숫자에서 두 번째 숫자를 뺀다.

sum_rating에 rating 값들을 합산하고 $divide로 sum_rating을count값으로 나눈다.

 

- 날짜/시간 연산자

$dayOfYear : 연 중의 일로서 1에서 365까지

$dayOfMonth : 월 중의 일로서 1에서 31까지

$dayOfWeek : 주 중의 일로서 1에서 7까지이며, 1은 일요일을 의미

$year : 날짜의 연 부분

$month : 날짜의 월 부분으로 1에서 12까지

$week : 연 중의 주 로서, 0에서 53까지

$hour : 시간을 뜻하고, 0에서 23까지

$minute : 분을 뜻하고, 0에서 59까지

$second : 초를 뜻하고, 0에서 59까지

$millisecond : 시간 중 밀리초를 뜻하며, 0에서 999까지

 

- 논리,비교 연산자

$and : 배열 내의 모든 값이 true인 경우는 true

$cmp : 두 개 값을 비교하여 결괏값을 반환해 주며, 두 값이 동일하면 0을 반환

$cond : if...then...else 조건부 논리

$eq : 두 값이 동일한지의 여부 확인

$gt : 하나의 값이 다른 하나의 값보다 큰지의 여부 확인

$gte : 하나의 값이 다른 하나의 값보다 크거나 같은지의 여부 확인

$ifNull : null 값/ 표현식을 지정된 값으로 변환

$lt : 하나의 값이 다른 하나의 값보다 작은지의 여부 확인

$lte : 하나의 값이 다른 하나의 값보다 작거나 같은지의 여부 확인

$ne : 두 값이 동일하지 않은지에 대한 여부 확인

$not : 주어진 값의 반대 조건을 반환

$or : 배열의 값 중 그 어떤 하나라도 true인 경우 true

- 배열 연산자

$setEquals : 두 개의 집합이 완전히 같은 요소를 가지는 경우 true

$setIntersection : 두 개의 집합에서 공통적으로 존재하는 요소의 배열을 반환한다.

$setDifference : 두 번째 집합에 없는 첫번째 집합의 요소를 반환한다.

$setUnion : 두 집합의 합집합을 반환한다.

$setIsSubset : 두 번째 집합이 첫 번째 집합의 부분집합이면 true

$anyElementTrue : 집합의 요소 중 그 어느 하나라도 true이면 true

$allElementTrue : 집합의 모든 요소가 true일 경우에만 true

$not : 주어진 값의 반대 조건을 반환

$or : 배열의 값 중 그 어떤 하나라도 true인 경우 true

 

- 뷰 : 다른 컬렉션에서 정보를 집계한 가상 컬렉션

뷰에는 집계한 정보가 저장되지 않는다.

뷰는 직접적으로 쓰고, 수정하고 삭제하는 작업이 불가능하다.

db.createView(<view>,<source>,<pipeline>,<options>)

       <view> :뷰이름, <source> : 소스가 되는 컬렉션 이름

'DB > MongoDB' 카테고리의 다른 글

데이터 모델링과 인덱스 (1)  (0) 2022.11.14
MongoDB의 트랜잭션  (0) 2022.11.14
집계 명령어(2)  (0) 2022.11.01
집계 명령어(1)  (0) 2022.11.01
쿼리 작성하기(2)  (0) 2022.10.31