2016-08-22 92 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)