geoHaystack 索引

在本页面

“geoHaystack”索引是一种特殊的索引,优化后可以在小范围内返回结果。“geoHaystack”索引提高了使用平面几何图形查询的性能。

对于使用球形几何的查询,2dsphere索引比haystack索引更好2dsphere索引允许字段重新排序;geoHaystack索引要求第一个字段为位置字段。另外,geoHaystack 索引只能通过命令使用,因此总是一次返回所有结果。

行为

geoHaystack索引从同一地理区域创建文档的“存储桶”,以提高限于该区域的查询的性能。geoHaystack索引中的每个存储段都包含在给定经度和纬度指定邻近范围内的所有文档。

sparse属性

geoHaystack索引默认为sparse,忽略sparse: true选项。如果一个文档缺少一个geoHaystack索引字段(或者该字段是“null”或空数组),MongoDB不会为该文档添加一个条目到geoHaystack索引中。对于插入,MongoDB插入文档,但不添加到geoHaystack索引。

geoHaystack索引包括一个geoHaystack索引键和一个非地理空间索引键;但是,只有geoHaystack索引字段决定索引是否引用文档。

排序选项

geoHaystack索引只支持简单的二进制比较,不支持collation

要在具有非简单排序规则的集合上创建geoHaystack索引,必须在创建索引时显式指定{collation: {locale: "simple"}}

创建geoHaystack索引

要创建geoHaystack索引,请参见创建Haystack索引。有关查询haystack索引的信息和示例,请参见查询haystack索引