Mongoose save()实际上并不保存

我试图find我的logging,更新它,并保存它。 我可以看到更新的数据,它仍然可以在save()的callback中显示更新的数据。 但是,当我去到数据库,它实际上没有更新:

Skills.findOne({ skillsCat: req.body.skillsCat }, (err, gets)=> { if (err) { res.send(err) return } if (gets && gets.skillName.indexOf(req.body.skillName) !== -1) { // Here I update my data gets.percent[gets.skillName.indexOf(req.body.skillName)] = req.body.percent Console.log(gets); // Here I can see the data is updated return gets.save((err, updated)=> { Console.log(updated); // Here I can see the data is updated if (err) { return } res.json({ message: 'Skill updated successfully', data: updated }) }) } else { return } }) 

有没有人遇到类似的问题,并帮助我与此? 谢谢。

尝试下面的代码:

 gets.percent[gets.skillName.indexOf(req.body.skillName)] = req.body.percent Console.log(gets); // Here I can see the data is updated //Notice that 'fieldname' is the name of actual field in database gets.markModified('fieldname'); return gets.save((err, updated)=> { Console.log(updated); // Here I can see the data is updated if (err) { return } res.json({ message: 'Skill updated successfully', data: updated }) })