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