Вы можете делать с регулярным выражением, которое не содержит слова. Также вы можете использовать $options => i
для случая нечувствительного поиска
Не содержит string
db.collection.find({name:{'$regex' : '^((?!string).)*$', '$options' : 'i'}})
Точного случай нечувствительного string
db.collection.find({name:{'$regex' : '^string$', '$options' : 'i'}})
Старта с string
db.collection.find({name:{'$regex' : '^string', '$options' : 'i'}})
End с string
db.collection.find({name:{'$regex' : 'string$', '$options' : 'i'}})
Содержит string
db.collection.find({name:{'$regex' : 'string', '$options' : 'i'}})
Держите это в качестве закладки и ссылки на любые другие изменения вам может понадобиться. http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
Чтобы быть понятным, '{$ regex: 'ttt'}' обычно эквивалентно '/ ttt /' в mongodb, поэтому ваш запрос станет 'db.test.find ({c: {$ not:/ttt /}} '. – idbentley
@idbentley спасибо. Я обновил свой ответ с разъяснением. – shx2
Большое вам спасибо. Для других людей я использовал' 'c ': {' $ not ': re.compile (' ttt ')} '. Конечно, вам нужно импортировать re –