У меня есть агрегатный запрос Монго, в котором я передаю переменные $device_name
и $device_type
db.getCollection('devices').aggregate([
{ "$match" : {
"name" : "$device_name",
"deviceType": "$device_type"
}
}]);
Однако, как часть запроса пользователя, любая из переменных $device_name
или $device_type
может быть пустой. Я хочу пропустить совпадение, соответствующее пустой переменной.
Пример: если запрос имеет только $device_type
, запрос должен соответствовать только для deviceType
param и пропустить проверку для name
.
Я знаю, что мы можем использовать filters
для этого, но мне нужно использовать запрос агрегатора для этого из-за ограничений среды.
Я пытался использовать $and
, $ifNull
, но мне не удалось получить желаемый результат.