Cette question et cette réponse datent de quelques années et, d'après ce que je peux en dire, il existe maintenant une manière correcte de procéder. Fournir ceci aux futurs chercheurs :
User.find().collation({locale:'en',strength: 2}).sort({username:1})
.then( (users) =>{
//do your stuff
});
Vous pouvez également indexer sur username
sans sensibilité à la casse :
UserSchema.index({username:1}, {collation: { locale: 'en', strength: 2}});
strength:1
est une autre option - il est préférable de se référer à la documentation pour décider ce qui vous convient le mieux.
Pour les détails de tout cela, regardez ici.