Query a Haystack Index
Important
Removed in MongoDB 5.0
MongoDB 5.0 removes the deprecated geoHaystack index and geoSearch
command. Use a
2d index with $geoNear
or one of the
supported geospatial query operators
instead.
Upgrading your MongoDB instance to 5.0 and setting
featureCompatibilityVersion to 5.0
will delete any
pre-existing geoHaystack indexes.
A haystack index is a special 2d
geospatial index that is optimized
to return results over small areas. To create a haystack index see
Create a Haystack Index.
To query a haystack index, use the geoSearch
command. You
must specify both the coordinates and the additional
field to geoSearch
. For example, to return all documents
with the value restaurant
in the type
field near the example
point, the command would resemble:
db.runCommand( { geoSearch : "places" , search : { type: "restaurant" } , near : [-74, 40.74] , maxDistance : 10 } )
Note
Haystack indexes are not suited to queries for the complete list of documents closest to a particular location. The closest documents could be more distant compared to the bucket size.
Note
Spherical query operations are not currently supported by haystack indexes.
The find()
method cannot access the
haystack index.