У меня есть следующий вложенный объект для обновления после некоторых условий. На основе условия, наконец, я хочу обновить promotional
или transactional
значение
{
"_id" : "XX1",
"credit" : {
"sms" : {
"credit" : {
"promotional" : 0,
"transactional" : 1231
}
},
"viber" : {
"credit" : {
"promotional" : 10,
"transactional" : 50
}
},
"whatsapp" : {
"credit" : {
"promotional" : 30,
"transactional" : 40
},
}
},
}
условия будут основаны на значениях передаваемой переменной
accountId = "XX1",
channel = "sms",
messageType = "promotional",
credit = 150
эти условия должны проверяться перед обновлением
_id
должно совпадать с accountId
- , если
channel='sms'
, следует выбрать credit.sms
- если
messageType = "promotional"
, то проверьте, что рекламная стоимость больше, чем credit
, или нет - , если она больше
credit
(credit.sms.credt.promotional) должна обновляться с : (credit.sms.credt.promotional)-credit