Существует коллекция документов MongoDB, содержащая информацию о книгах.
Мне нужно найти документы по следующим критериям:
(header
содержит подстрока ) ИЛИ (author
содержит подстрока )
В оболочке mongo я использую этот запрос, и прекрасно работает :
db.books.find({$or: [{author: {$regex: /.*substring.*/i}}, {header: {$regex: /.*substring.*/i}}]})
НО Я не могу заставить его работать в PyMongo.
Вот мой код:
search = 'substring'
search_request = {
'$or':
[
{'author': {'$regex': f"/.*{search}.*/", '$options': 'i'}},
{'header': {'$regex': f"/.*{search}.*/", '$options': 'i'}}
]
}
cursor = self.books.find(search_request)
Он просто ничего не возвращает.
Я использую Python 3.7.0, PyMongo 3.7.1, MongoDB Server 3.2.11.