[MongoDB] 질의 조건 부여

이전 포스팅에선 find나 remove 시에, 단순 속성값을 통해서만 도큐먼트를 특징했었다.
하지만 그런 방법만으론 한계가 있다. 만약 1~100 사이의 범위값을 특정해야 한다면 어찌할 것인가?
1부터 100까지 속성값을 다 집어넣을까? 말도 안되는 짓이다.

당연히 MongoDB에선 이에 대한 해결법을 제공한다.
연산자를 사용하는 것이다. MongoDB엔 $lt,$gt, $lte, $gte, $in 등의 $로 시작하는 연산자를 제공한다.
이걸 속성값에 박아넣으면 된다.

컬렉션 상태는 이렇다.

여기서 x가 0 이상인 도큐먼트만 가져오고 싶다면, 이렇게 쿼리를 날리면 된다.

{$gte:0} 자체가 하나의 연산 식이다. 0보다 크거나 같다는.

x와 y 둘다 0 이상인 것만 가져오려면 이렇게,

단순하다.

$in 연산자는 전달받은 배열 내의 값들을 전부 매칭한다.

게다가 and, or, not, nor 등의 논리 연산자도 존재한다.
x이 0보다 크면서 30보다 작은 도큐먼트를 가져오려면, 이렇게 할 수 있다.


참조
https://cionman.tistory.com/48?category=758474