I\'m trying to do a geoNear + text search aggregate query in Mongoose:
landmarkSchema.aggregate(
[
{ \"$geoNear\": {
\"near\": {
\
Only an initial $match
stage can use an index, so you cannot use a text index in the second $match
. You also can't combine using a 2dsphere index and using a text index in the same $match
. One option is switching the order of the text search $match
stage and the $geoNear
stage. Swapped, the text search will use a text index and $geoNear
will still work if you set spherical : false
. $geoNear
will calculate planar, not spherical, distances, and will not use an index.
If that's not feasible, we could try to think of other options if you describe the use case.