expr를 사용하여 쿼리 내에서 집계 표현식(aggregation Expression)을 사용할 수 있습니다. { $expr : {<expression>}}expr를 이용해 변수와 조건문을 사용할 수 있습니다.
$expr를 사용하여 같은 도큐먼트 내의 필드들을 서로 비교할 수 있습니다.
$expr를 사용하면 해당 값이 어떤 필드와 같아야 하는지 지정하지 않고도 자체적으로 동일한 도큐먼트 내에서 start station id값과 end station id값을 직접 비교할 수 있습니다.
이렇게 $expr를 사용하여 같은 곳에서 대여하고 반납한 모든 결과에 대해 가져올 수 있습니다.
start station id: 439
start station name: E 4th Street & 2nd Avenue를 사용하여 각각의 도큐먼트마다 달라지는 특정 필드의 값을 변수처럼 비교할 수 있습니다.
{"expr":{ "and":[
{"tripduration", 1200 ]},
{"end station id", "$start station id" ]}
]
}
}
MQL syntax:
{: {:}}
e.g. {total_employee:{"$gt" : 25}}
Aggregation syntax:
{:{ ,}}
MQL에서 비교 연산자 구문은 먼저 필드를 작성하고 나중에 적용되는 비교 연산자를 작성합니다.
그러나 이 구문은 집계 표현식을 사용합니다. 집계 구문에서는 연산자를 먼저 작성하고 다음으로 필드와 값을 작성합니다.
표현 연산자로 더 복잡한 쿼리를 작성할 수 있으며 도큐먼트 내의 필드를 비교할 수 있습니다.
또한 $는 필드의 값을 참조할 때에도 사용할 수 있습니다.