更新forEach中的mongoDB更新不起作用

时间:2018-11-26 09:02:46

标签: javascript node.js mongodb

我有一个连接到MongoDB数据库的Node后端服务器。在这里,我有一个包含患者对象的患者集合。我正在尝试更新每个对象上的称为位置的属性。

我首先从MongoDB检索文档:

 const patientsToChange = await Patient.find()

然后,我尝试通过迭代数组来更新数组中的某些属性。

patientsToChange.forEach(function (patient) {
    patient.queuePosition = parseInt(patient.queuePosition) + 1
    console.log(patient._id)
    let updatedPatient = patient.update({ _id: patient._id }, patient)
})

我在这里想念什么?

是否甚至可以在forEach循环中进行更新?

1 个答案:

答案 0 :(得分:0)

您应该使用Patient.update而不是Patient.update。另外,最好使用$ inc递增一个字段:

Patient.updateOne({ _id: patient._id }, { $inc: { queuePosition }} )