gpt4 book ai didi

node.js - 如果数据库中不存在该数组字段值,如何推送该数组字段值?

转载 作者:太空宇宙 更新时间:2023-11-04 01:29:23 25 4
gpt4 key购买 nike

我的后端有这个功能:

exports.updatePacienteByCodigo = function (req, res) {
let codPaciente = req.params.codPaciente;
let params = req.body; // This is the data what come from frontend = {'testRealizados':['example'], 'respuestas':['example'], 'codMedico':'example'}
Paciente.findOneAndUpdate({ codPaciente: codPaciente }, {
'$push': {
'testsRealizados': params.testsRealizados,
'respuestas': params.respuestas,
'codMedico': {'$ne':params.codMedico} //here is the problem
}
}).then(
pacienteEncontrado => {
if (!pacienteEncontrado) {
res.status(404).send({ accion: 'updatePaciente', mensaje: 'Ese paciente no existe' });
} else {
res.status(200).send({ accion: 'updatePaciente', mensaje: 'Paciente actualizado correctamente' });
}
}
).catch(err => { res.status(500).send({ accion: 'updatePaciente', mensaje: 'Error ' + err }) })
};

此查询向我抛出此错误 “Error CastError: Cast to [string] failed for value\"[{\"$ne\":\"o8qjdeli\"}]\"at path\"codMedico\""}

我想要做的是,如果 codMedico 在数据库中具有与参数 codMedico 相同的值,则不要更新该字段。

我尝试过,但没有成功。我没有主意,所以我就在这里。谢谢。

[已解决]

我尝试使用 $addToSet 方法,它的效果非常好,就像 @Plancke 在评论中告诉我的那样。

最佳答案

我尝试使用 $addToSet 方法,它的效果非常好,就像 @Plancke 在评论中告诉我的那样。

关于node.js - 如果数据库中不存在该数组字段值,如何推送该数组字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56561890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com