어렵다...
지정된 값이 서로 같거나 같이 않은지 여부를 확인 할 수 있다.
반대되는 개념으로 $ne (Not Equal to)가 있다.
$eq 와 반대되는 개념으로 지정된 값이 같지 않은 것을 찾을 때 사용
$lt와 반대되는 개념으로 주어진 값보다 큰 지, 작은 지를 비교할 때 사용된다.
$gt와 반대되는 개념입니다.
크거나 동일한지, 또는 작거나 동일한지를 비교할 수 있습니다.
$gte와 반대되는 개념입니다.
비교 연산자를 사용하기 위한 기본 문법
{field: {operator: value}}
ex) 실제 예시 ($lte)
{"age": {"$lte" : 70}}
나이가 70보다 어린 사람이 있는지 없는지를 살펴볼 수 있습니다.
ex) 실제 예시 ($ne)
{"subscribe": {"$ne": "subscriber"}}
not equal to subscriber 로 풀어서 얘기할 수 있습니다. subscriber가 아닌 경우 출력합니다.
비교 연산자 뒤에도 .pretty()를 사용할 수 있습니다.
.pretty()를 사용하여 보기 좋게 출력해줍니다.
{"subscribe": {"$ne": "subscriber"}}.pretty()
$and
주어진 모든 쿼리절과 일치하는가
$or
주어진 쿼리절 하나라도 일치하는가?
$nor
주어진 모든 쿼리절과 일치하지 않는가?
$not
주어진 쿼리와 일치하지 않는가?
참이어야 하는 여러 기준이 있는 경우 기본적으로 쿼리에 함축됩니다.
$and를 명시하지 않고 두 개의 조건을 하나로 결합하여 쿼리를 작성할 수 있습니다.
동일한 연산자를 두 번 이상 포함해야 할 때 $and 를 명시합니다.
{$expr: {expression}}
Document에서 모든 station은 그와 관련된 name 필드와 id필드가 존재합니다. 이 중 id필드를 가지고 쿼리를 작성합니다.
$expr을 사용하면 해당 값이 어떤 필드와 같아야 하는지 지정하지 않고도 자체적으로 동일한 Document 내에서 start station id 값과 end station id 값을 직접 비교할 수 있습니다.
배열의 마지막 위치에 Element를 넣습니다.
배열이 아닌 필드에 사용했을 경우, 필드의 타입을 배열로 바꿉니다.
$push 연산자를 사용하면 배열에 요소를 추가하거나 이전에 다른 유형의 값을 배열 타입의 필드로 바꿀 수 있습니다.
배열 요소의 순서와 상관없이 지정된 요소가 포함된 모든 Document를 찾을 수 있습니다.
배열 연산자를 이용해 배열의 길이로 결과를 제한할 수 있습니다.
배열의 길이를 제한하려면 쿼리에 $size를 추가합니다.
ex) $size: 20
20개 쿼리만을 가지고 지정한 요소가 모두 배열에 포함된 Document를 반환합니다.
특정 요소를 찾지 않는다면, $size 를 통해 배열 길이로만 쿼리할 수 있습니다.
{array filed: {"$size": number}}
{array filed: {"$all": array}}
지정된 배열 필드의 배열 순서와 관계없이 지정된 모든 요소가 포함된 모든 Document들이 있는 커서를 반환합니다.