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