게시글

5만명이 선택한 평균 별점 4.9의 제로초 프로그래밍 강좌! 로드맵만 따라오면 됩니다! 클릭
강좌7 - MongoDB - 8년 전 등록

요소, 평가, 배열 쿼리 연산자

안녕하세요. 이번 시간에는 요소, 평가, 배열 쿼리 연산자 세 개에 대해 알아보겠습니다.

요소 쿼리

$exists

해당 필드가 존재해야 하는지 존재하지 않아야 하는지를 정합니다.

{ 필드: { $exists: true/false } }

$type

해당 필드의 자료형이 일치하는 다큐먼트를 선택합니다. 선택가능한 자료형으로 double, string, object, array, binData, objectId, bool, date, null, regex, dbPointer, javascript, symbol, javascriptWithScope, int, timestamp, long, minKey, maxKey가 있습니다. 이 중에서 반절은 써본 적이 없는 자료형이네요. 혹시 쓸 일이 있을지도 모르니 알아둡시다.

{ 필드: { $type: 자료형 } }

평가 쿼리

$mod

나머지를 구하는 쿼리입니다. 예를 들어 { $mod: [4, 0] }을 하면 0, 4, 8, 12, 등등이 선택되겠죠. 자주 쓰이는 쿼리는 아닙니다. 

{ 필드: { $mod: [ 나눌값, 나머지 ] } }

$regex, $options

정규표현식 검색을 가능하게 합니다. $regex와 $options 쿼리를 모두 사용해서 검색할 수도 있고, 그냥 일반 정규식처럼 { 필드: /패턴/옵션 } 해도 됩니다.

{ 필드: { $regex: 패턴, $options: 옵션 } }

$text

텍스트 검색을 하는 쿼리입니다. 제약이 좀 많습니다. 대표적으로 필드에 text index가 설정되어 있어야합니다. 유용한 점은 꼭 정확한 문자가 아니더라도 유사한 문자도 찾아준다는 겁니다.

{ $text: { $search: 문자, $language: 언어, $caseSensitive: 대소문자구별 } }

$where

자바스크립트 문법을 사용해 검색할 수 있습니다. 예를 들면 'this.credit == this.debit' 이런 식을 넣으면, credit 필드 값과 debit 필드 값이 같은 다큐먼트를 반환합니다.

{ $where: 자바스크립트식 }

배열 쿼리

여기서부터는 배열 값을 가진 필드를 조회하는 쿼리입니다 

$all

$all 쿼리 안에 있는 모든 값을 포함하는 배열을 값으로 가진 태그를 선택합니다. 아래의 배열이 예에서 값1, 값2 등등 모든 값을 가지고 있어야합니다.

{ 필드: { $all: [값1, 값2, ...] } }

$elemMatch

$elemMatch는 조건이 배열 안의 요소와 일치하는 필드를 선택합니다.

{ 필드: { $elemMatch: { 조건1, 조건2, ... } } }

$size

$size는 말 그대로 배열의 length가 값과 일치하는 필드를 선택합니다.

{ 필드: { $size: 값 } }

다음 시간에는 공간 쿼리 연산자투사 연산자에 대해 알아보겠습니다.

조회수:
0
목록
투표로 게시글에 관해 피드백을 해주시면 게시글 수정 시 반영됩니다. 오류가 있다면 어떤 부분에 오류가 있는지도 알려주세요! 잘못된 정보가 퍼져나가지 않도록 도와주세요.
Copyright 2016- . 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.
5만명이 선택한 평균 별점 4.9의 제로초 프로그래밍 강좌! 로드맵만 따라오면 됩니다! 클릭

댓글

아직 댓글이 없습니다.