猫鼬中的findByIdAndUpdate()和findOneAndUpdate()有什么区别?

maj*_*iji 6 mongoose mongodb express

任何人都可以用猫鼬解释findByIdAndUpdate()findOneAndUpdate()之间的区别。

还有findOneAndUpdate(req.params.id)和findOneAndUpdate({_id:req.params.id})之间的区别?

dni*_*ess 10

查看文档findByIdAndUpdate()findOneAndUpdate(),其中明确指出:

findByIdAndUpdate(id,...)等同于findOneAndUpdate({_id:id},...)。

因此,实际上,findByIdAndUpdate()这只是一个很可能经常发生的更新方案(“按ID更新”)的便捷速记版本。

关于第二个问题:

还有findOneAndUpdate(req.params.id)和findOneAndUpdate({_ id:req.params.id})之间的区别?

第一个参数将简单地崩溃,因为第一个参数findOneAndUpdate()预期将成为过滤器文档。第二个将起作用,并且等同于findByIdAndUpdate(req.params.id)上面已经提到的。