Em primeiro lugar, ainda não existe um wrapper de conveniência para usar o geoNear com o Mongoose diretamente (dado que você deseja ler a distância calculada).
Mas como as coleções do Mongoose proxies todos os métodos de coleta do driver nativo do MongoDB nativo você pode simplesmente usar o método geoNear , embora você tenha que desistir de um pouco da conveniência que você pode esperar do Mongoose e, nas minhas descobertas, o tratamento de erros foi um pouco diferente.
De qualquer forma, é assim que você pode usar a referida 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;
}
});
Consulte os documentos para o tratamento correto de erros e como calcular as distâncias .