转换经纬度型MongoDB中,以执行空间查询

问题描述:

我在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

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