我有一个连接到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循环中进行更新?
答案 0 :(得分:0)
您应该使用Patient.update而不是Patient.update。另外,最好使用$ inc递增一个字段:
Patient.updateOne({ _id: patient._id }, { $inc: { queuePosition }} )