Potrafię używać Like
operatora SQL używając pymongo
,
db.test.find({'c':{'$regex':'ttt'}})
Ale jak mogę używać Not Like
operatora?
próbowałem
db.test.find({'c':{'$not':{'$regex':'ttt'}})
ale pojawił się błąd:
OperationFailure: $ not nie może mieć wyrażenia regularnego
$not
i$regex
wydaje mi się działać.Odpowiedzi:
Z dokumentów :
EDYCJA (@idbentley):
{$regex: 'ttt'}
jest generalnie odpowiednikiem/ttt/
in mongodb, więc zapytanie wyglądałoby następująco:EDIT2 (@KyungHoon Kim):
W Pythonie działa poniżej:
źródło
{$regex: 'ttt'}
jest generalnie równoważne z/ttt/
in mongodb, więc twoje zapytanie wyglądałoby następującodb.test.find({c: {$not: /ttt/}}
.'c':{'$not':re.compile('ttt')}
. Oczywiście, musi importować reMoż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
Bez rozróżniania wielkości liter
string
Zaczynać z
string
Kończy się na
string
Zawiera
string
Zachowaj to jako zakładkę i odniesienie do innych zmian, których możesz potrzebować. http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/
źródło