我想知道如何搜索距我所在地点最近的10个点。目前我有这样的事情:
const query50 = Event.where('location').near({
center: {
type: 'Point',
coordinates: [data.lng, data.lat]
},
maxDistance: 50000,
spherical: true
});
但是这允许我显示半径50公里内的所有事件。现在我想收到最接近我的10但没有设置 maxDistance 。是否有一些高效的方式来做到这一点?
答案 0 :(得分:0)
简短的回答是否定的。但是你可以根据到你所在位置的距离对你的结果进行排序,它的速度相当快。
答案 1 :(得分:0)
使用.limit(n)
方法限制
db.places
.find({
location:
{
$near: {
$geometry: { type: "Point", coordinates: [-73.9667, 40.78] }
}
}
})
.limit(10)
.exec(function(err, result) { /*...*/ });
$maxDistance
和$minDistance
是可选的