Vlastně podle dokumentace,
Pokud pro pole existuje index, MongoDB porovná regulární výraz s hodnotami v indexu, což může být rychlejší než skenování kolekce. Další optimalizace může nastat, pokud je regulární výraz „výraz předpony“, což znamená, že všechny potenciální shody začínají stejným řetězcem. To umožňuje MongoDB vytvořit „rozsah“ z této předpony a porovnávat pouze s těmi hodnotami z indexu, které spadají do tohoto rozsahu.
http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use
Jinými slovy:
Pro /Jon Skeet/
regex ,mongo úplně naskenuje klíče v indexu a poté načte odpovídající dokumenty, což může být rychlejší než skenování sbírky.
Pro /^Jon Skeet/
regex ,mongo prohledá pouze rozsah, který začíná regulárním výrazem v indexu, což bude rychlejší.