Я могу использовать Like
оператор SQL, используя pymongo
,
db.test.find({'c':{'$regex':'ttt'}})
Но как я могу использовать Not Like
Оператора?
Я попытался
db.test.find({'c':{'$not':{'$regex':'ttt'}})
но получил ошибку:
OperationFailure: $ not не может иметь регулярное выражение
$not
и$regex
оператор в комбинации , кажется, работает для меня.Ответы:
Из документов :
EDIT (@idbentley):
{$regex: 'ttt'}
обычно эквивалентен/ttt/
в mongodb, поэтому ваш запрос будет выглядеть следующим образом:EDIT2 (@KyungHoon Ким):
В python работает один ниже:
источник
{$regex: 'ttt'}
обычно это эквивалент/ttt/
в mongodb, поэтому ваш запрос будет иметь видdb.test.find({c: {$not: /ttt/}}
.'c':{'$not':re.compile('ttt')}
. Конечно, вам нужен реимпортВы можете использовать регулярное выражение, которое не содержит слова. Также вы можете использовать
$options => i
для нечувствительного поиска.Не содержит
string
Без учета регистра
string
Начинается с
string
Заканчивается на
string
Содержит
string
Сохраните это как закладку и ссылку для любых других изменений, которые могут вам понадобиться. http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
источник