翻译或纠错本页面

查询Haystack索引

haystack索引是一个被特殊优化过的 2d 地理索引,用于返回小区域结果。参见 创建Haystack索引 了解如何创建haystack索引。

可以使用 geoSearch 命令来查询haystack索引。您必须在 geoSearch 中同时指定位置坐标和额外的键。例如,如果需要得到在某个点附近且 type 键上的值为 restaurant 的所有文档,命令格式如下:

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

注解

Haystack索引不适用于查询距离某个位置的所有最近点的情况。最近点的距离有可能会大于bucketsize。

注解

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

方法 find()geoNear 命令不能使用haystack索引。