geoHaystack
Indexes¶On this page本页内容
Deprecation
MongoDB 4.4 deprecates the geoHaystack index and the geoSearch
command. Use a 2d index with $geoNear
or $geoWithin
instead.
A geoHaystack
index is a special index that is optimized to return results over small areas. geoHaystack
indexes improve performance on queries that use flat geometry.
For queries that use spherical geometry, a 2dsphere index is a better option than a haystack index. 2dsphere indexes allow field reordering; geoHaystack
indexes require the first field to be the location field. Also, geoHaystack
indexes are only usable via commands and so always return all results at once.
geoHaystack
indexes create “buckets” of documents from the same geographic area in order to improve performance for queries limited to that area. Each bucket in a geoHaystack
index contains all the documents within a specified proximity to a given longitude and latitude.
sparse
Property¶geoHaystack
indexes are sparse by default and ignore the sparse: true option. If a document lacks a geoHaystack
index field (or the field is null
or an empty array), MongoDB does not add an entry for the document to the geoHaystack
index. For inserts, MongoDB inserts the document but does not add to the geoHaystack
index.
geoHaystack
indexes include one geoHaystack
index key and one non-geospatial index key; however, only the geoHaystack
index field determines whether the index references a document.
geoHaystack
Index¶To create a geoHaystack
index, see Create a Haystack Index. For information and example on querying a haystack index, see Query a Haystack Index.