【问题标题】:What is the difference between findByIdAndUpdate() and findOneAndUpdate(), in mongoose?猫鼬中的 findByIdAndUpdate() 和 findOneAndUpdate() 有什么区别?
【发布时间】:2018-04-25 12:32:28
【问题描述】:

谁能解释一下 findByIdAndUpdate()findOneAndUpdate() 在 mongoose 中的区别。

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

【问题讨论】:

    标签: mongodb express mongoose


    【解决方案1】:

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

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

    所以,真的,findByIdAndUpdate() 只是一个方便的简写版本,用于可能经常发生的更新场景(“按 id 更新”)。

    关于你的第二个问题:

    还有 findOneAndUpdate(req.params.id) 和 findOneAndUpdate({_id: req.params.id})?

    第一个将简单地崩溃,因为findOneAndUpdate() 的第一个参数预计是一个过滤器文档。第二个可以工作,相当于上面已经提到的findByIdAndUpdate(req.params.id)

    【讨论】:

      猜你喜欢
      • 2015-10-26
      • 2021-08-07
      • 2019-06-02
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多