Значение приращения в mongoDB - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь добавить два значения в функцию Мангуста.

Эта функция, которую я использую:

Equipa.findOne({ '_id': req.params.equipaID }, function (error, equipa) {
  if (error) {
    return (error);
  }

  if (util.isNullOrUndefined(equipa)) {
    return res.status(204).end()
  }

  console.log(equipa.distanciaTotal + "------" + req.body.distanciaPercorrida),
  { total : {$add[equipa.distanciaTotal,req.body.distanciaPercorrida]}},
  console.log(total)  
});

Значения в equipa.distanciaTotal и req.body.distanciaPercorrida являются правильными, как и Equipa, найденное Equipa.findOne.

Я думаю, что это будет хорошо, обновление документа, но я просто не могу добавить два значения.

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Вы можете использовать $ inc

Equipa.findOneAndUpdate(
    { '_id': req.params.equipaID }, 
    { $inc: { distanciaTotal: req.body.distanciaPercorrida } }
);

Или сохраните документ после обновления

Equipa.findOne({ '_id': req.params.equipaID }, (err, equipa) => {
    equipa.distanciaTotal += req.body.distanciaPercorrida;
    equipa.save();
});
0 голосов
/ 04 июля 2018

Вы можете использовать $inc для увеличения существующего значения

Equipa.findOneAndUpdate(
  { '_id': req.params.equipaID },
  { '$inc': {
    distanciaTotal: req.body.distanciaPercorrida }
  }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...