2014-12-19 27 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> 
}