mongoDB中的增量值

时间:2018-07-04 11:36:27

标签: javascript node.js mongodb mongoose add

我试图在猫鼬函数中添加两个值。

此函数正在使用:

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.distanciaTotalreq.body.distanciaPercorrida中的值正确,Equipa发现的Equipa.findOne也正确。

我认为对文档进行更新会很好,但是我无法添加两个值。

2 个答案:

答案 0 :(得分:3)

您可以使用$ 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();
});

答案 1 :(得分:1)

您可以使用$inc来增加现有值

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