Docs 菜单
Docs 主页
/
MongoDB Manual
/

geoHaystack 索引

在此页面上

  • 行为
  • sparse 属性
  • 创建geoHaystack索引

重要

已在 MongoDB 5.0 中删除

MongoDB 5.0删除了已弃用的 geoHaystack索引和geoSearch命令。 请改用带有 的2 d索引 $geoNear或受支持的 地理空间查询运算符 之一。

将 MongoDB 实例升级到 5.0 并将 FeatureCompatibilityVersion 设置为 5.0 会删除所有先前存在的 geoHaystack 索引。

geoHaystack索引是一种特殊索引,经过优化可返回小区域的结果。 geoHaystack索引可提高使用平面几何图形的查询的性能。

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

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

geoHaystack 索引默认情况下是稀疏的,并忽略稀疏:true选项。 如果文档缺少geoHaystack索引字段(或者该字段为null或空数组),MongoDB 不会将该文档的条目添加到geoHaystack索引。 对于插入,MongoDB 会插入文档,但不会添加到geoHaystack索引。

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

geoHaystack 索引仅支持简单的二进制比较,不支持排序规则。

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

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

后退

使用球面几何形状计算距离