【发布时间】:2013-10-07 11:50:18
【问题描述】:
假设我有一个文件,看起来像
{loc:{start:[x,y],end:[x1,y1]}}
带有 2dsphere 索引,我想在一个查询中搜索所有具有相同起点和终点的文档。在MongoDB中可以做到吗?
【问题讨论】:
标签: mongodb location geospatial latitude-longitude database
假设我有一个文件,看起来像
{loc:{start:[x,y],end:[x1,y1]}}
带有 2dsphere 索引,我想在一个查询中搜索所有具有相同起点和终点的文档。在MongoDB中可以做到吗?
【问题讨论】:
标签: mongodb location geospatial latitude-longitude database
地理空间索引只能覆盖具有旧坐标对(具有两个值的数组)或有效GeoJSON Point, Polygon or LineString 的字段。这意味着您只能使用地理空间索引来索引开始位置或结束位置。
但是,当您搜索完全匹配时,这不是问题。 2dsphere 索引提供some additional geographical operators,但是当您只需要测试完全相等时,您不需要这些并且可以将您的地理坐标视为普通的旧数据。因此,当您在 loc 字段上添加一个普通索引并使用带有您正在搜索的值的普通 find() 时,您将获得匹配项。
【讨论】: