I get that expressions are like functions. But on the video, $gte used as {$gte: -40} is an operator while $gt used as {$gt: [’$numberOfMoons’, 0]} is an expression. Can someone elaborate on this?
Simple queries like used in the find() method or $match stage are of the form:
field_name : value
or
field_name : { operator : value }
More complex queries, like when you want to compare 2 fields withing the same document are with an $expr:{ complex_query } sub-document.
When ever you <expression> in the documentation you should use the extended syntax of $expr (without the $expr because it is implicit) and when you see <query>, use the simple syntax.
2 Likes
so it depends on how we use the operators. If we use $gt: value, $gt is an operator whereas in $gt: $gt is an expression. Am I right?
yes but the how is determine by the where you use $gt.
1 Like
Thanks for the help
1 Like