У меня есть список различных строк.Соответствие Pymongo Regex со списком
lst = ['.\*123.\*','.\*252.\*','.\*812.\*','.\*135.\*']
Я хочу, чтобы выполнить операцию агрегирования таким образом, что мой $ матч выглядит следующим образом:
{"$match":{"Var":{"$in":lst}}}
Поле вара в MongoDB записях является строкой, содержащей числа:
например «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
Я не верю, я сделал, что маленькая ошибка! Спасибо чувак. – Blabber