2016-08-22 6 views
2

Я знаю, что могу сделать поиск Глоб типа на MongoDB:питон, mongoengine - сделать как/поиск регулярных выражений

db.person.find({ name: /*.bob.*/ }) 

или

db.person.find({ name: { $regex: '*.bob.*' }}) 

Как это сделать с mongoengine без использования необработанный запрос (который, по-видимому, единственный способ, основанный на моих поисках)?

Я слепо попробовал несколько вариантов, как:

Person.objects(name='/.*bob.*/') 
Person.objects(name='/\.*bob\.*/') 
Person.objects(name='.*bob.*') 
Person.objects(name='\\.*bob\\.*') 

и т.д., но безрезультатно ...

ответ

2

Похоже, что вы можете сделать это следующим образом:

import re 

regex = re.compile('.*bob.*') 
Person.objects(name=regex)