任何人都可以解释mongoose中 findByIdAndUpdate()和 findOneAndUpdate()之间的区别。
还有findOneAndUpdate( req.params.id )和findOneAndUpdate( {_ id:req.params.id} )之间的区别?
答案 0 :(得分:7)
查看findByIdAndUpdate()和findOneAndUpdate()的文档,其中明确指出:
findByIdAndUpdate(id,...)等同于findOneAndUpdate({ _id:id},...)。
所以,实际上,findByIdAndUpdate()
只是一个方便的速记版本,可能经常发生更新场景("由id&#34更新;)。
关于你的第二个问题:
还有findOneAndUpdate(req.params.id)和 findOneAndUpdate({_ id:req.params.id})?
第一个只会崩溃,因为findOneAndUpdate()
的第一个参数应该是一个过滤文档。第二个将起作用,相当于上面已经提到的findByIdAndUpdate(req.params.id)
。