嘿,我有一个简单的问题,因为我使用了一种方法直到今天,你能解释一下这两种方法在猫鼬之间有什么区别吗?我曾经认为这些是相同的,但不是......第一种方法得到错误,第二种工作正常。请解释我的差异。 (在这两种方法中,我在expressJS中使用app.put()
1)
User.findOne({ username: req.decoded.username }, function(err, user){
//some code e.g. change password
user.password = req.body.newPass
user.save(function(err){
res.json({ success: true })
})
});
2)
User.findOne({ username: req.decoded.username }).select('email username password').exec(function(err, user){
//some code e.g. change password
user.password = req.body.newPass
user.save(function(err){
res.json({ success: true })
})
});
答案 0 :(得分:0)
我认为你不能将回调函数放在findOne中,因此你会在这种方法中出错
User.findOne({ username: req.decoded.username }, function(err, user){
//some code e.g. change password
user.password = req.body.newPass
user.save(function(err){
res.json({ success: true })
})
});