翻译或纠错本页面
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 索引¶
参见 创建Haystack索引 来创建 geoHaystack 索引。为了了解更多查询haystack索引的信息和示例,参见 查询Haystack索引 。