In MongoDB, “$where” is used to specify arbitrary Javascript that allows one to run more specialized queries, especially the boolean “OR” criteria.
Lets continue with the example of our “address” collection that we first discussed under Find. Documents in this collection contain address information, for example:
{
"Street":"123 ABC Street",
"Street2": "Search Boulevard",
"City": "Allentown",
"State": "PA",
"Country": "United States"
}
Now, if we were to fetch all the address in Allentown and Pittsburgh only, we would specify a JavaScript statement (condition, that evaluates to true or false) as follows:
This same can also be expressed in the form of a JavaScript function:
Please note: You could achieve the same results by specifying your JavaScript inside the “Find” query (see pic below). Also note that if you specify such a condition in both the “Find” popout box, and the “Where” popout box, then the JavaScript in “Where” takes precedence and overwrites those specified under “Find”.
4.Sorts:
Sort is easy. When you want your results to be sorted in a particular order, you just specify the sorting criteria in a Json object.
Lets say you want to retrieve all documents from our “address” collection in the alphabetical order of “State” names, you would simply enter the appropriate Json in the Sort popout box as shown below: