我很高兴看到最近在 Meteor 0.6.6 中的 minimongo 中添加了对地理空间索引的 $near 支持。但是,似乎 $near 的排序行为(它应该按距离排序)是被动的。也就是说,当一个文档被添加到集合中时,客户端会加载它,但总是在结果列表的末尾,即使它比其他文档更接近 $near 坐标。当我刷新页面时,顺序已更正。
例如:
服务器:
Meteor.publish('events', function(currentLocation) {
return Events.find({loc: {$near:{$geometry:{ type:"Point", coordinates:currentLocation}}, $maxDistance: 2000}});
});
客户:
Template.eventsList.helpers({
events: function() {
return Events.find({loc: {$near:{$geometry:{ type:"Point", coordinates:[-122.3943391, 37.7935434]}},
$maxDistance: 2000}});
}
});
有没有办法让它反应排序?