Dec 23, 2013 18:38
Столкнулась со следующей проблемой:
Нужно получить из mongodb в nodejs ближайшие к заданной точке объекты на карте, и вывести их постранично.
Если использовать метод geoNear, то невозможно задать иной порядок сортировки, кроме как по удаленности, и вообще сам по себе пейджинг становится сильно нетривиальным.
collection.geoNear(50, 50, {query:{a:1}, num: 10}, function(err,data){ ... });
А при использовании find с сортировкой все хорошо, можно так же отсортировать объекты по расстоянию до точки, но я не понимаю, как можно вытащить наружу это самое расстояние между точкой и объектом?
collection.find({location:{$near: [50, 50]},a:1}, {skip: 0, limit:10, sort :{'dis' :1}}).toArray(function(err,data){ ... });
Подскажите, плиз, возможно, я очевидного не вижу?
рабочее,
программерское,
хелп