2016-04-27 52 views
2

在MongoDB集合中,我想在由多個位置組成的字段上創建2dsphere索引。包含多個位置的MongoDB和2dsphere索引

我想那一定是更多鈔票,因爲$geoNear檔操作有一個像includeLocsuniqueDocs其狀態,如果場上的位置有一個以上的位置,我們可以指定某些條件的選項。

然後我試圖在現場loc看起來創建索引,如:

//db.users 
{ 
    //other fields 
loc: [ 
      {type:"Point", coordinates: [-20, 20]}, 
      {type:"Point", coordinates: [-30, 30]} 
    ] 
} 

與代碼:

db.users.createIndex({loc:"2dsphere"}) 

但我得到的錯誤loc無效格式。

如何在具有多個位置的字段上創建索引?

回答

1

如果可能對某人有幫助:在大多數情況下,無論類型是什麼,GeoJSON數據對象的第二個字段是coordinates。因此,下面可以在我的情況下工作,不僅有,而且還當有不同類型的混合,如LineString等,所有你需要做的是對embdeeded文件的特定字段創建索引:

db.users.createIndex({"loc.coordinates":"2dsphere"})