как обновить числовое поле, используя другое числовое поле в MongoDB - PullRequest
1 голос
/ 26 февраля 2020

Может ли MongoDB разрешить обновление числового поля, используя другое числовое поле в том же документе? Допустим, у меня есть документ, подобный приведенному ниже:

{
   "_id" : "1",
   "a" : 2,
   "b" : 3
}

a и b поля - числовые поля (десятичные, целые ...), моя цель - обновить поле b с использованием поля a Как установить b как b = 2 * a . Это возможно?

1 Ответ

0 голосов
/ 27 февраля 2020

Примечание:

  1. На v 3.6 у вас нет возможности прямого обновления, сначала необходимо прочитать и обработать код, а затем обновить.
  2. Для v >= 4.2 вы можете сделать это за один вызов, так как .update () примет конвейер агрегации, и все можно сделать за один вызов обновления БД. Вы можете попробовать это:

Запрос:

db.getCollection('collectionName').update({}, [{ $set: { b: { $multiply: ["$a", 2] } } }])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...