У меня есть эти данные в монго
{
_id: {
question_id: 3
},
data: {
answer: 11,
count: 114,
result: [
{
_id: 3,
question: "What is your age group?",
options: [
{
id: 10,
option: "<18"
},
{
id: 11,
option: "18-24"
},
{
id: 12,
option: "24-35"
},
{
id: 13,
option: ">35"
}
],
type: "Radio"
}
]
}
},
Здесь я хотел бы выполнить проверку equals to
между answer
и result.options.id
, и, если значение соответствует, оно должно вернуть result.options.option
Так что желаемый результат будет
{
_id: {
question_id: 3
},
data: {
answer:'18-24',
count: 114,
}
},
Пока я пробовал это
'$project'=>[
'res'=>[
'$map'=>[
'input'=>'$data.result.options',
'as'=>'dt',
'in'=>[
'$cond'=>[
'if'=>[
'$eq'=>[
'$$dt.id',
'$data.answer'
]
],
'then'=>'$$dt.option',
'else'=>'$$dt.id'
]
]
]
]
]
Любая подсказка относительно того, что я делаю неправильно.Мой код всегда возвращает оператор else