Você não poderá classificar por um campo virtual porque eles não estão armazenados no banco de dados.
Atributos virtuais são atributos que são convenientes de se ter por perto, mas que não são persistidos no mongodb.
http://mongoosejs.com/docs/2.7.x/docs/virtuals.html