javascript - mongoDB中的增量值
问题描述
我正在尝试在 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.distanciaTotal
和中的值req.body.distanciaPercorrida
是正确的,由Equipa
找到的也是正确的Equipa.findOne
。
我认为更新文档会很好,但我根本无法添加这两个值。
解决方案
你可以使用 $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();
});
推荐阅读
- apache-spark - Spark - 从动态地图中提取值
- google-cloud-platform - 为什么可以从快照而不是 GCP 中的映像创建区域永久性磁盘?
- mongodb - 集合中的MongoDB搜索有2或3个空格
- vba - Word 宏 - 无需调整大小即可获取原始大小
- julia - JuMP 是否可以使用 VariableRef 作为索引
- flutter - 为什么建议在大型项目中使用 Bloc 模式?
- apache-spark - 从 PySpark 加载数据帧
- python - 如何写入 csv 文件并知道租赁处于活动状态?
- python - Icecast 流切换源而无需客户端停止播放
- javascript - 无法发布/Nodejs