翻译或纠错本页面

geoHaystack 索引

MongoDB中 geoHaystack 索引是一种特殊的索引,为返回小区域结果而优化的索引。 geoHaystack 索引提升了使用平面几何的查询性能。

对于使用球面地理的查询,相比于haystack索引, 2dsphere索引是一个更好选择2dsphere索引 不限制被索引键在复合索引中的顺序, geoHaystack 索引要求第一个键必须是被索引的位置键。另外, geoHaystack 索引只在命令中可用,并且一次性返回所有结果。

特性

为了提高某一区域的查询性能,索引 geoHaystack 索引创建 “buckets” ,其中包含同一个区域的文档。在 geoHaystack 索引中的一个bucket包含了在给定 经度,纬度 的给定范围内的文档。

稀疏 属性

默认情况下, geoHaystack 索引是 稀疏 的,并且忽略 sparse: true 选项。如果一篇文档中不包含 geoHaystack 索引键(或者这个键存储的是 null 或者空数组),那么MongoDB将不会为这篇文档建立 geoHaystack 索引项。如果是一个插入操作,MongoDB会插入这篇文档,但不把它加到 geoHaystack 索引中。

MongoDB中 geoHaystack 复合索引可以包含一个 geoHaystack 索引键和一个非地理索引键。但是, 只有 geoHaystack 索引键决定这个索引是否要引用一篇文档。

创建 geoHaystack 索引

To create a geoHaystack index, see 创建Haystack索引. For information and example on querying a haystack index, see 查询Haystack索引.