Прежде всего, еще нет удобной оболочки для непосредственного использования geoNear с Mongoose (учитывая, что вы хотите прочитать рассчитанное расстояние).
Но поскольку коллекции Mongoose проксируют все методы сбора из нативного нативного драйвера MongoDB вы можете просто использовать их метод geoNear , хотя вам придется отказаться от удобства, которое можно ожидать от Mongoose, и в моих выводах обработка ошибокбыло немного по-другому.
В любом случае, вот как вы могли бы использовать указанный API:
YourModel.collection.geoNear(lon, lat, {spherical: true, maxDistance: d}, function(err, docs) {
if (docs.results.length == 1) {
var distance = docs.results[0].dis;
var match = docs.results[0].obj;
}
});
Пожалуйста, обратитесь к документации для правильной обработки ошибок и , как рассчитать расстояния.