Puedes usar $options => i
para búsquedas que no distinguen entre mayúsculas y minúsculas. Dando algunos ejemplos posibles requeridos para la coincidencia de cadenas.
string
insensible a mayúsculas y minúsculas
db.collection.find({name:{'$regex' : '^string$', '$options' : 'i'}})
Contiene string
db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}})
Empezar con string
db.collection.find({name:{'$regex' : '^string', '$options' : 'i'}})
Terminar con string
db.collection.find({name:{'$regex' : 'string$', '$options' : 'i'}})
No contiene string
db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})
Guarde esto como un marcador y una referencia para cualquier otra alteración que pueda necesitar.http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/