谁能解释一下 findByIdAndUpdate() 和 findOneAndUpdate() 在 mongoose 中的区别。
还有 findOneAndUpdate(req.params.id) 和 findOneAndUpdate({_id: req.params.id}) 的区别?
最佳答案
查看 findByIdAndUpdate() 的文档和 findOneAndUpdate()其中明确指出:
findByIdAndUpdate(id, ...) is equivalent to findOneAndUpdate({ _id: id }, ...).
所以,真的,findByIdAndUpdate()
只是一个方便的简写版本,用于可能经常发生的更新场景(“按 id 更新”)。
关于你的第二个问题:
And also the difference between findOneAndUpdate(req.params.id) and findOneAndUpdate({_id: req.params.id})?
第一个将简单地崩溃,因为 findOneAndUpdate()
的第一个参数应该是一个过滤器文档。第二个将起作用,它相当于上面已经提到的 findByIdAndUpdate(req.params.id)
。
关于mongodb - Mongoose 中的 findByIdAndUpdate() 和 findOneAndUpdate() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253949/