Możesz zrobić z wyrażeniem regularnym, które nie zawiera słowa. Można również użyć $options => i
w przypadku wyszukiwania niewrażliwego.
Nie zawiera string
db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})
Bez rozróżniania wielkości liter string
db.collection.find({name:{'$regex' : '^string$', '$options' : 'i'}})
Zaczynać z string
db.collection.find({name:{'$regex' : '^string', '$options' : 'i'}})
Kończy się na string
db.collection.find({name:{'$regex' : 'string$', '$options' : 'i'}})
Zawiera string
db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}})
Zachowaj to jako zakładkę i odniesienie do innych zmian, których możesz potrzebować.
http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
$not
i$regex
wydaje mi się działać.