Мне нужно найти все результаты, которые начинаются с определенного ввода, например, для входных данных: "Paul", "pau", "paul Gr", "Paul Green", "Paul Gree", "Pel", "pele" "," joh "," john "et c .. Поиск должен выполняться без учета регистра .. он предполагает возвращение всех из них (длина входной строки поиска не менее 3 символов):
[
{
"_id": ObjectId("5e6ffe413f71835ae3aa4b60"),
"f": "Paul",
"id": 11811,
"l": "Pelè",
"r": 64
},
{
"_id": ObjectId("5e6ffe413f71835ae3aa4b65"),
"f": "paul",
"id": 11811,
"l": "walker",
"r": 64
},
{
"_id": ObjectId("5e6ffe413f71835ae3aa4b66"),
"f": "johnny",
"id": 11811,
"l": "Green",
"r": 64
}
]
попытался сделать следующее:
contain_searched_term_players = list(db.players_collection.find({'$or': [{'f': {'$regex': searched_player_name_string, '$options': 'i'}},
{'l': {'$regex': searched_player_name_string, '$options': 'i'}},
{'c': {'$regex': searched_player_name_string, '$options': 'i'}}]}).sort([{'r', -1}])
, но это не работает для "Пола Грина"
искомая_по_имя_строки - это заданный вход (входные данные, например, Пол Грин) )