2016-07-08 3 views
0

나는 뚜렷한 문자열 목록이 있습니다. MongoDB의 기록에Pymongo Regex 목록과 일치

{"$match":{"Var":{"$in":lst}}} 

var에 필드가 문자열이 포함 번호 :
예를 들어,

lst = ['.\*123.\*','.\*252.\*','.\*812.\*','.\*135.\*'] 

나는 나의 $ 일치는 다음과 같이 표시하도록 집계 작업을 수행 할 "abc123", "haaofalfa812"등이 있습니다.이 Var를 정규식과 일치시키고 싶습니다. LST의 변수가 적은 인 경우에, 나는이 일을 한 수 ...

{"$match":{"Var":{"$in":[re.compile('.*123.*'),re.compile('.*252.*'),re.compile('.*812.*')]}}} 

그러나이 LST가 이미 초기화하고 요소를 많이 포함하고 있기 때문에, 어떻게해야합니까?

는 나는 내가 분명한 이유 다음과 같은 오류가

{"$match":{"Var":{"$in":[re.compile(x for x in lst)]}}} 

... 다음 그러나이 너무 작동하지 않습니다를 시도했다.

TypeError: first argument must be string or compiled pattern

답변

2

목록 내용이 잘못되었습니다. TypeError 나는 생각하지 않는다 re.compile()

+0

에 발전기 (x for x in lst 문을) 통과 시도에서 오는

[re.compile(x) for x in lst] 

, 나는 작은 실수 있음을했다 : 나는 당신이하고 싶었던 것은 이것이다라고 생각한다! 고마워. – Blabber