Vous ne pourrez pas trier par champ virtuel car ils ne sont pas stockés dans la base de données.
Les attributs virtuels sont des attributs pratiques à avoir mais qui ne sont pas conservés dans mongodb.
http://mongoosejs.com/docs/2.7.x/docs/virtuals.html