2016-07-13 76 views
0

我在MongoDB的文件包含:轉換經緯度型MongoDB中,以執行空間查詢

{ 
    "Latitude" : "1.242", 
    "Longitude" : "-12.311" 
} 

這是正確的,他們都是字符串!如何轉換我他們到double類型,並將其作爲Geoson點即

{ 
    "Coordinates" = [-12.311,1.242] 
} 

我希望能夠執行的形式的空間查詢。

"$and":[{"Latitude" : { "$not" : { "$within" : { "$center" : [[lat,lon]],1000] } } }},{"Longitude" : { "$not" : { "$within" : { "$center" : [[lat,lon],1000] } } }}] 

形式的查詢
Mongodb not $near
查找不是通過經緯度形成半徑1000米的圓內的所有點lon.Can它沒有變化做些什麼呢?如果是,那麼請提出其他建議。請幫忙!

+0

查詢後文檔應該是什麼樣子? '{「座標」:[-12.311,1.242]}? – styvane

+0

@SSDMS這是對的 – Blabber

+0

@SSDMS我基本上希望能夠對其執行地理空間查詢。 – Blabber

回答

0
db.Coll.aggregate(
      [ 
{$addFields: {"coordinates" : ["$latitude" ,"$longitude"] }  }, 
{$out:"coll_new"} 
      ]   
      );