面试题答案
一键面试假设集合名为cities
,文档结构类似:
{
"cityName": "城市名",
"location": {
"type": "Point",
"coordinates": [经度, 纬度]
}
}
查询距离指定坐标点(假设为[指定经度, 指定纬度]
)100公里范围内的所有城市的MongoDB查询语句如下:
db.cities.find({
location: {
$near: {
$geometry: {
type: "Point",
coordinates: [指定经度, 指定纬度]
},
$maxDistance: 100000 // 100公里转换为米,1公里 = 1000米
}
}
});