Я пытаюсь сделать условный запрос.Я хочу найти во всей коллекции те документы, которые соответствуют диапазону цен 25%, и если у документов есть определенное поле (в данном случае «audiPrice»), я буду использовать это поле для поиска, и если этот документ неВ этом поле я буду использовать поле 'price'
У меня есть поиск в документации mongodb (https://docs.mongodb.com/manual/reference/operator/aggregation/cond/), я нашел оператора $cond
, и я попытался сделать запрос каквы можете увидеть
pipeline = [
{
'$cond': {
'if': {'audiPrice': {'$exists': True}}, 'then': {'$match':
{'audiPrice': {
'$lte': price * 1.75, '$gte': price * 0.25
}
}
},'else': {'$match': {
'price': {
'$lte': price * 1.75, '$gte': price * 0.25
}
}
}
}
}
]
и я получил это сообщение об ошибке
pymongo.errors.OperationFailure: Unrecognized pipeline stage name: '$cond'
Знаете ли вы, как я могу достичь своей цели?
Я использую python и pymongo.
спасибо