Здравствуйте,
"застопорился" на написании вот такого запроса:
В запросе увеличивается значение поля 'countOperation' и на основании
нового значения 'countOperation' необходимо вычислить поле 'sum'
PHP 7.3
mongoDB 4.4.6
$id="123";
$clientName="Alex Petrov";
$price1=10;
$price2=11;
$price3=12;
$price4=13;
$res= $db->collection->findOneAndUpdate(
array('_id'=>$id),
array(
'$inc' => array('countOperations'=>1),
'$setOnInsert' => array(
'clientname'=>$clientName
),
'$set' => array(
'sum'=>array(
// псевдокод begin
if('countOperations'>1 && 'countOperations'<=10)
{ 'sum'='countOperations'*$price1;
}
else
if('countOperations'>10 && 'countOperations'<=20)
{ 'sum'='countOperations'*$price2;
}
else
if('countOperations'>20 && 'countOperations'<=30)
{ 'sum'='countOperations'*$price3;
}
else
{ 'sum'='countOperations'*$price4;
}
// как вариант можно использовать
// switch()
// { case: then:
// defaul:
// }
// псевдокод end
)
)
),
array('upsert'=>true)
);