So I have some user documents that have first names and names. I'd like to offer the possibility to filter them if a given input "looks like" that fullname.
user: {
firstName: "foo",
lastName: "name",
...
}
Before, I was doing this filter on the javascript side by measuring a "score" of likeness between the input and the fullname, but since I implemented a pagination system I cannot do this anymore.
Now I'd like to find a way to make this on the aggregation-side.
I've found this question and this one, that seems to make the same thing but since they do not use aggregation directly it's difficult to me to link this to my case.
A way of doing that I have been thinking is to use the $where
operator in the aggregation and then addField
to have the "likness score" with each result of the query, then filter them on their score using the aggregatePaginate
options.
But it seems to me I cannot use $where
in the aggregation. Any idea ?
Many thanks ! Kev :)