我正在尝试查询位于矩形内或距矩形 X 公里内的所有点。我将多边形的所有顶点的经度和纬度坐标存储在 boundingBox 中,我目前正在使用以下 Mongoose 查询
Model.find({
location: {
$geoWithin: {
$geometry: {
type: "Polygon",
coordinates: [ boundingBox ],
},
},
},
})
此查询有效(显示框中的点)但我还想显示靠近框的点,例如距离任何边缘 < 5 公里。
我想用 $near 来做这个,但它看起来只适用于点,而不是多边形。另一个选择是对坐标对进行一些数学计算并扩大边界框。有没有办法在 MongoDb 中做到这一点?