2014-12-19 84 views
0

我收藏的结构如下:如何在MongoDB中的集合的两个不同键上创建2d索引?

​​

我想创建一个使用纬度和经度键二维指数。

我知道这可以通过创建一个单独的位置字段携带经度和纬度值来完成。但是,我不想改变目前收藏的结构。有没有解决方案?

+0

什么阻止你使用提交的LOC?如果可能的话,与使用loc域相比,它可能不是最好的解决方案。如果需要,您可以轻松后处理应用中的字段。 – sergiuz 2014-12-19 11:03:01

回答

0

不需要。您需要以MongoDB的地理空间索引预期的方式构建位置字段。对于2D指数,可以使用传统的坐标对

{ 
    "loc" : [<longitude>, <latitude>], 
    "metric1" : <value>, 
    "metric2" : <value>, 
    "metric3" : <value> 
} 

对于2dsphere指数,使用GeoJSON的

{ 
    "loc" : { "type" : "Point", "coordinates" : [<longitude>, <latitude>] }, 
    "metric1" : <value>, 
    "metric2" : <value>, 
    "metric3" : <value> 
} 
相关问题