我想在聚合的管道中使用正则表达式。
我最初做过:
regex = '(foo|bar)'
regexDB = re.compile(regex, re.I|re.U )
db.col.find({
'events.display': True,
'$or' : [
{ 'events.description': regexDB } ,
{ 'events.title' : regexDB }
]
})
所以我尝试了$ match:
regex = '(foo|bar)'
regexDB = re.compile(regex, re.I|re.U )
db.col.aggregate([
{'$unwind': "$events"},
{'$match' :
{
'events.display' : True,
'$or' : [
{ '$events.description': regexDB } ,
{ '$events.title' : regexDB }
]
}
})
然而它似乎没有这种方式。上面的代码基于此example。我还为mongo的shell找到了一个例子here。
如何在pymongo的聚合中执行正则表达式?