셀렉터 일치 매칭

db.users.find({
	'last_name': 'Banker',
	'first_name': 'Smith'
})

주어진 필드는 AND 연산이며, 모든 텍스트 문자열은 대소문자를 구분한다. 대소문자를 구분하지 않으려면 정규표현식의 i 플래그를 사용하거나 전문검색을 사용해야함

범위

db.user.find({
	'birth_year': { '$gte': 1995, '$lte': 2015 },
})

범위 쿼리는 검색을 위해 넘겨받은 값과 타입이 일치하는 값에 대해서만 조건을 만족하는지 확인한다.

즉, 다음의 데이터에서 조회를 할 경우 주어진 쿼리의 타입과 일치하는 정수값 데이터만 반환된다.

// 데이터
{ "value": 97 }
{ "value": 98 }
{ "value": 99 }
{ "value": "a" }
{ "value": "b" }
{ "value": "c" }

// 조회쿼리
db.items.find({ 'value': { '$gte': 97 } })

// 반환되는 데이터
{ "value": 97 }
{ "value": 98 }
{ "value": 99 }

하나의 키에 대해 여러 가지 서로 다른 타입의 데이터를 저장하는 것은 권장하지 않는다. 키에 대해 일관된 타입을 갖는 것이 좋은 습관이다.