Можно ли использовать вызовы contains и существования в одном и том же запросе в mongodb, в частности в mongoengine для python?
Данные, которые мне нужно проанализировать, хранятся в поле карты, где мне нужно чтобы зайти в ключи и определить, существует ли интересующий ключ и содержит ли оно определенное слово. вот пример структуры данных
{_id: "Final Fantasy"
"playtime": {"2024-01-01 1:00:00" : {"deaths":5, "levels_gained":10},
"2024-01-03 4:00:00" : {"deaths":2, "levels_gained":5},
"2024-01-07 3:00:00" : {"deaths":2, "levels_gained":5}}}
В настоящее время, чтобы найти очень конкретные ключи в поле карты, я выполняю следующее:
entries: List[GameDoc] = []
dt_str = "2024-01-03 4:00:00"
query = Q(**{f'playtime__{dt_str}__exists': True})
entries.extend(GameDoc.objects(query))
но когда я пытаюсь включить в запрос слово «содержит», он не находит документы. Например, я хочу найти все документы, содержащие дату «2024-01», независимо от других элементов ключа.
query = Q(**{f'playtime__{"2024-01"}__exists': True})
query = Q(**{f'playtime__{"2024-01"}__contains': True})
Подробнее здесь: https://stackoverflow.com/questions/791 ... same-query
Mongoengine содержит и существует в одном и том же запросе ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
Мобильная версия