Jon*_*ark 35 geospatial mongodb
我试图了解MongoDB和地理空间搜索.基本上我想要的是用户能够查询在距离用户当前位置的设定距离内拍摄的文档(图像).所以我用户正在搜索距离他所在地1公里范围内拍摄的所有图像我尝试使用下面的示例,但我不知道要设置什么作为最大距离值.
db.places.find({ loc : { $near : [50,50] , $maxDistance : 5 }})
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如果我在1公里范围内搜索文件,我将设置为maxdistance?
我完全被困在这里.
Ram*_*Vel 67
要使用$near具有km范围的mongodb 查询,您需要将radius值转换为km.默认情况下,mongodb $ near接受$maxDistance为radius.
111.12使用km时转换距离(一度约为111.12公里),或者使用度数保持距离
你的问题
如果我在半径1公里范围内搜索文件,我该设置为maxdistance?
你可以用它
db.places.find( { loc : { $near : [50,50] , $maxDistance : 1/111.12 } } )
Run Code Online (Sandbox Code Playgroud)
我已经在这里详细解答了如何使用mongo地理空间特征.你可以看看
Iva*_*tov 17
从MongoDB 2.4版开始,您可以直接以米为单位指定半径作为$ maxDistance的值,如下所示:
db.<collection>.find({loc: {$near :
{$geometry :
{
type: 'Point',
coordinates: [<longitude> , <latitude>]
}
},
$maxDistance: 10*100
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17118 次 |
| 最近记录: |