Can anybody explain the difference between findByIdAndUpdate() and findOneAndUpdate() in mongoose.
And also the difference between findOneAndUpdate(req.params.id) and findOneAndUpdate({_id: req.params.id})?
Can anybody explain the difference between findByIdAndUpdate() and findOneAndUpdate() in mongoose.
And also the difference between findOneAndUpdate(req.params.id) and findOneAndUpdate({_id: req.params.id})?
Check out the documentation for findByIdAndUpdate() and findOneAndUpdate() which clearly states:
findByIdAndUpdate(id, ...) is equivalent to findOneAndUpdate({ _id: id }, ...).
So, really, findByIdAndUpdate() is just a convenient shorthand version for an update scenario that is likely to happen very often ("update by id").
With respect to your second question:
And also the difference between findOneAndUpdate(req.params.id) and findOneAndUpdate({_id: req.params.id})?
The first one will simply crash as the first parameter to findOneAndUpdate() is expected to be a filter document. The second one will work and is equivalent to findByIdAndUpdate(req.params.id) as already noted above.