gpt4 book ai didi

javascript - 按距离排序mongo查询

转载 作者:可可西里 更新时间:2023-11-01 09:35:57 26 4
gpt4 key购买 nike

给定以下代码:

Meteor.publish('nearestVenues', function(params){
var limit = !!params ? params.limit : 50;
params ? !!params : 50;
if (!!params && !!params.coordinates){
return Venues.find(
{ 'location.coordinates':
{ $near :
{ $geometry :
{ type : "Point" ,
coordinates : params.coordinates
},
$maxDistance : 6000,
spherical: true
}
}
}, {limit: limit, sort: 'location.coordinates': -1 });
} else {
return Venues.find({}, {limit: limit});
}
});

为什么我无法在集合到达客户端后对其进行正确排序?这可以过滤查询 sort: 'location.coordinates': -1。

最佳答案

$near 运算符应该已经按距离对结果进行了排序。只需删除排序选项,它就会为您提供所需的结果。

来自 mongodb 文档:

排序操作

$near 按距离对文档进行排序。如果您还为查询包含一个 sort(),sort() 将重新排序匹配的文档,有效地覆盖 $near 已经执行的排序操作。在地理空间查询中使用 sort() 时,请考虑使用不对文档进行排序的 $geoWithin 运算符,而不是 $near。

关于javascript - 按距离排序mongo查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30425238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com