Ya hay muchas respuestas. Estoy dando diferentes tipos de requisitos y soluciones para la búsqueda de cadenas con expresiones regulares.
Puede hacerlo con expresiones regulares que contienen palabras, es decir, me gusta. También puede usar $options => i
para la búsqueda sin distinción entre mayúsculas y minúsculas
Contiene string
db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}})
No contiene string
solo con expresiones regulares
db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})
Caso exacto insensible 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'}})
Conserve esto como un marcador y como referencia para cualquier otra modificación que pueda necesitar.