Non potrai eseguire l'ordinamento in base a un campo virtuale perché non sono archiviati nel database.
Gli attributi virtuali sono attributi utili da avere in giro ma che non vengono mantenuti in mongodb.
http://mongoosejs.com/docs/2.7.x/docs/virtuals.html