我正在学习 MongoDB 和地理空间搜索。基本上,我想让用户能够查询距离他们当前位置一定范围内拍摄的文档(图片)。所以,如果用户正在寻找所有在 1 公里范围内拍摄的图像,我尝试使用下面的示例,但不知道该如何设置 maxdistance 值。
db.places.find({ loc : { $near : [50,50] , $maxDistance : 5 }})
我的问题是,如果我想在1公里的半径范围内搜索文档,我应该将maxdistance设置为多少?
我完全被卡住了。
我正在学习 MongoDB 和地理空间搜索。基本上,我想让用户能够查询距离他们当前位置一定范围内拍摄的文档(图片)。所以,如果用户正在寻找所有在 1 公里范围内拍摄的图像,我尝试使用下面的示例,但不知道该如何设置 maxdistance 值。
db.places.find({ loc : { $near : [50,50] , $maxDistance : 5 }})
我的问题是,如果我想在1公里的半径范围内搜索文档,我应该将maxdistance设置为多少?
我完全被卡住了。
db.places.find( { loc : { $near : [50,50] , $maxDistance : 1/111.12 } } )
我在这里详细回答了如何使用mongo地理空间特性。你可以查看。
自 MongoDB 版本2.4起,您可以直接将半径以米为单位作为$maxDistance的值指定,如下所示:
db.<collection>.find({loc: {$near :
{$geometry :
{
type: 'Point',
coordinates: [<longitude> , <latitude>]
}
},
$maxDistance: 10*100
}
});
{ "location" : { "$nearSphere" : { "$geometry" : { "type" : "Point", "coordinates" : [18.341772, 43.834183] }, "$maxDistance" : 331.0 }