Prezado colega, tente usando o $limit ao invés do num : 4 :
db.alunos.aggregate([
{
$geoNear : {
near : {
coordinates: [ -23.5640265, -46.6527128 ],
type : "Point"
},
distanceField : "distancia.calculada",
spherical : true,
}
},
{ $limit : 4 }
])