Mongodb 地理位置边界搜索/查询

2024-03-29

我有一个包含位置“框”(方形区域)列表的文档。每个框由 2 个点表示(左下或西南、右上角或东北)。

文档,例如:

{
   locations: [
        [[bottom,left],[top,right]],
        [[bottom,left],[top,right]],
        [[bottom,left],[top,right]]
   ]
}

我在用着2d http://docs.mongodb.org/manual/core/2d/这些边界点的索引。

我的输入是一个特定的位置点 [x,y],我想获取列表中具有该点所在框的所有文档。

有没有地理空间算子 http://docs.mongodb.org/manual/reference/operator/query-geospatial/我可以用它来做到这一点吗? 我该如何编写这个查询?


您可以使用框运算符,请参阅:http://docs.mongodb.org/manual/reference/operator/query/box/#op._S_box http://docs.mongodb.org/manual/reference/operator/query/box/#op._S_box以下示例直接取自该页面:

db.places.find( { loc : { $geoWithin : { $box :
                                      [ [ 0 , 0 ] ,
                                        [ 100 , 100 ] ] } } } )

值得注意的是,二维索引被认为是遗留的。如果您可以转换为使用 GeoJSON 和 2dsphere 索引,那么您可以使用 $geoWithin 运算符:请参阅

http://docs.mongodb.org/manual/reference/operator/query/geoWithin/#op._S_geoWithin http://docs.mongodb.org/manual/reference/operator/query/geoWithin/#op._S_geoWithin

GeoJSON 还有许多其他好处,其中最重要的是它可以轻松地通过 OpenLayers 或 Leaflet 等 Web 地图应用程序进行传输和消化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongodb 地理位置边界搜索/查询 的相关文章

随机推荐