This version will reach end of life on Feb 2018. To upgrade, go to the Learn more about upgrading your version of MongoDB.

Query a Haystack Index

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 } )


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.


Spherical query operations are not currently supported by haystack indexes.

The find() method and geoNear command cannot access the haystack index.