增加mongoDB中的值

问题描述 投票:1回答:2

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

这个函数即时使用:

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也是如此。

我认为更新文档会很好,但我根本无法添加这两个值。

javascript node.js mongodb mongoose add
2个回答
1
投票

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

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

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();
});
© www.soinside.com 2019 - 2024. All rights reserved.