@fedl

Как сформировать PHP запрос на обновление данных в mongoDB с условиями?

Здравствуйте,
"застопорился" на написании вот такого запроса:

В запросе увеличивается значение поля '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)
	);
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы