Mongoose 中的 Schema 字段默认值的设置方法

阅读时长 3 分钟读完

Mongoose 中的 Schema 字段默认值的设置方法

Mongoose 是 Node.js 环境下 MongoDB 的对象模型工具,它提供了一种方便的方式来定义 MongoDB 中的文档结构和操作方式。在 Mongoose 中,Schema 是定义文档结构的基础,它是一个 JavaScript 对象,描述了文档中的字段和类型。在实际开发中,我们经常需要设置字段的默认值,本文将介绍 Mongoose 中的 Schema 字段默认值的设置方法。

在 Mongoose 中,我们可以通过在 Schema 定义中设置 default 属性来设置字段的默认值。默认值可以是一个静态值,也可以是一个函数,函数返回值将作为默认值。下面是一个示例代码:

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

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

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

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

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

在上面的示例代码中,我们定义了一个名为 userSchema 的 Schema,包含了两个字段 name 和 age。其中,name 字段的默认值为 'John Doe',age 字段的默认值为一个随机数值。在创建新的 User 实例时,如果没有传入对应字段的值,则会使用默认值。

需要注意的是,Mongoose 中的默认值只会在执行 insert 操作时生效,如果是 update 操作,需要手动设置默认值。例如,下面的示例代码中,在执行 update 操作时,需要手动设置 name 字段的默认值:

在 update 操作中,我们可以通过 setDefaultsOnInsert 选项来设置插入文档时的默认值。需要注意的是,setDefaultsOnInsert 只有在 upsert 为 true 时才会生效。

总结

Mongoose 中的 Schema 字段默认值的设置方法非常简单,只需要在 Schema 定义中设置 default 属性即可。需要注意的是,在 update 操作中需要手动设置默认值,并且 setDefaultsOnInsert 只有在 upsert 为 true 时才会生效。希望本文能够给大家带来帮助,让大家更好地使用 Mongoose。

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

纠错
反馈