Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

查询 Haystack 索引

重要

已在 MongoDB 5.0 中删除

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

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

干草堆索引是一种特殊的2d地理空间索引,经过优化可返回小区域的结果。 要创建干草堆索引,请参阅创建干草堆索引。

要查询干草堆索引,请使用geoSearch命令。 您必须同时指定坐标和geoSearch的附加字段。 示例,要返回示例点附近type字段中值为restaurant的所有文档,命令将类似于以下内容:

db.runCommand( { geoSearch : "places" ,
search : { type: "restaurant" } ,
near : [-74, 40.74] ,
maxDistance : 10 } )

注意

Haystack 索引不适合查询距离特定位置最近的文档的完整列表。 与存储桶大小相比,最近的文档可能相距更远。

注意

haystack 索引目前不支持球面查询操作

find()方法无法访问 haystack 索引。

后退

创建 Haystack 索引