Mongoose 之使用 findByIdAndUpdate 更新单个文档

阅读时长 3 分钟读完

前言

Mongoose 是 Node.js 下一个优秀的 ODM 库,它是 MongoDB 官方支持的模型工具集。通过 Mongoose,我们可以在 Node.js 环境中方便地对 MongoDB 数据库进行增删改查、数据验证等操作。本文将介绍 Mongoose 中如何使用 findByIdAndUpdate 方法更新单个文档。

findByIdAndUpdate 方法介绍

findByIdAndUpdate 是 Mongoose 中的一个方法,用于更新单个文档。它的格式如下:

其中:

  • id:要更新的文档的 _id 值,必填。
  • update:更新的数据对象,必填。
  • options:可选项,可指定返回结果中包含原始文档或更新后的文档等内容。默认为 { new: false, runValidators: false }
  • callback:回调函数。如果不传回调函数,那么这个方法会返回一个 Promise 对象,我们也可以使用 async/await 进行处理。

使用示例

假设我们有一个名为 User 的集合,它有以下字段:

-- -------------------- ---- -------
--------- -
    ----- -------
    --------- ----
--
---- -
    ----- -------
    ---- --- ------- ----
    ---- ----- ------- -----
--
------- -
    ----- -------
    ----- ----- -----
    -------- ---
-

那么,我们可以这样更新一个文档:

-- -------------------- ---- -------
----- ---- - -------------------------

-- ----- --
-------------------------------------------------- - ---- -- -- - ---- ---- --
    ---------- -- -
        ------------------
    --
    ---------- -- -
        -------------------
    ---

这里,我们使用了 findByIdAndUpdate 方法,更新了 _id 为 5b75daee4567d8a0e6d4974c 的文档的年龄为 25。我们还指定了 { new: true },表示返回更新后的文档。如果不指定这个选项,默认返回的是更新前的文档。

还有一点需要注意的是,默认情况下,不会对更新数据进行数据验证。如果想强制进行数据验证,可以设置 runValidators: true

总结

本文介绍了 Mongoose 中使用 findByIdAndUpdate 方法更新单个文档的方法和注意事项。当我们需要对数据库中的数据进行修改时,可以参考本文的示例代码,快速完成数据更新工作。同时,也要注意数据验证的问题,以保证数据的安全性和合法性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ddefe5f6b2d6eab393c453

纠错
反馈