j0e*_*j0e 4 javascript sorting mongodb meteor
鉴于以下代码:
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});
}
});
Run Code Online (Sandbox Code Playgroud)
为什么一旦到达客户端,我就无法正确排序集合?这适用于在 sort: 'location.coordinates': -1 处过滤查询。
该$near
经营者应根据距离的结果已进行排序。只需删除排序选项,它就会为您提供所需的结果。
从 mongodb 文档:
排序操作
$near
按距离对文档进行排序。如果您还为查询包含 sort(),则 sort() 会对匹配的文档重新排序,从而有效地覆盖 已经执行的排序操作$near
。将 sort() 与地理空间查询一起使用时,请考虑使用 $geoWithin 运算符,它不对文档进行排序,而不是 $near。
归档时间: |
|
查看次数: |
4373 次 |
最近记录: |