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