Умножение поля на значение в Mongodb

Я искал способ создать оператор обновления, который будет принимать существующее числовое поле и изменять его с помощью выражения. Например, если у меня есть поле «Цена», можно ли выполнить обновление, которое устанавливает для цены значение 50% от существующего значения?

Итак, учитывая {Цена: 19,99}

, я бы хотел выполнить db.collection.update ({tag: "refurb"}, {$ set {Price: Price * 0.50}}, false, true);

Можно ли это сделать или мне нужно прочитать значение обратно клиенту, изменить, а затем обновить? Я предполагаю, что тогда возникает вопрос, могут ли выражения использоваться в обновлении и могут ли они ссылаться на обновляемый документ.

29
задан Salvador Dali 9 January 2016 в 06:43
поделиться