mongodb - 用于 maxdistance 和 MongoDB 的单位?

我正在尝试了解 MongoDB 和地理空间搜索。 基本上我想要的是让用户能够查询文档(图像) 在距用户当前位置的设定距离内拍摄。因此,我的用户正在搜索从他站立的位置 1 公里内拍摄的所有图像,我尝试使用 以下示例,但我不知道将什么设置为 maxdistance 值。

db.places.find({ loc : { $near : [50,50] , $maxDistance : 5 }})

所以我的问题是,如果我正在搜索文档,我应该将什么设置为 maxdistance 半径1公里以内?

我完全被困在这里了。

最佳答案

为了使用带有 km 边界的 mongodb $near 查询,您需要将半径值转换为 km。默认情况下,mongodb $near 接受 $maxDistance 作为 radius

在使用 km 时将距离换算为 111.12(1 度约为 111.12 公里),或在使用 degree 时保持距离不变

你的问题

what do I set as maxdistance if I am searching for documents within a 1 km radius?

你可以用这个

   db.places.find( { loc : { $near : [50,50] , $maxDistance : 1/111.12 } } )

我已经回答了如何使用 mongo geospatial features here in detail 。你可以去看看

https://stackoverflow.com/questions/7837731/

相关文章:

mongodb - 在 Mongo 中,如何显示集合的索引?

sql - 为什么 MongoDB 比 SQL DB 快得多的任何详细和具体原因?

arrays - MongoDB重命名数组中的数据库字段

mongodb - $cond 中存在 $exists 的条件分组

sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点

node.js - 如何检查MongoDB native nodejs驱动程序中是否存在集合?

mongodb - MongoDB 中的条件 $sum

mongodb - 在 MongoDB 中创建自定义对象 ID

MongoDB 查询帮助 - 查询子对象中任何键的值

java - MongoDB 是关系 db + lucene 的有效替代品吗?