在mongodb中转换纬度经度类型以执行地理空间查询

时间:2016-07-13 07:03:52

标签: mongodb pymongo geospatial

我在mongodb中有文件,包含:

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

这是正确的他们是字符串!如何将它们转换为双重类型并将它们存储为Geoson点,即

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

我希望能够对表单执行地理空间查询。

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

表格的查询
Mongodb not $near
找到不在由lat lon形成的半径1000米范围内的所有点。可以不做更改吗?如果是,那么请提出其他建议。请帮忙!

1 个答案:

答案 0 :(得分:0)

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