前言
Sequelize 是一个 Node.js 中的 ORM(Object-Relational Mapping)框架,可以帮助我们更加方便地操作数据库。在 Sequelize 中,我们经常需要使用到默认值,本文将详细介绍如何在 Sequelize 中定义默认值。
正文
在 Sequelize 中,我们可以在定义模型时设置默认值。有两种方法可以设置默认值:一种是通过数据类型的 defaultValue 属性,另一种是通过 model 的 Getter 函数。
方法一:使用 defaultValue 属性
我们可以在定义模型时,通过数据类型的 defaultValue 属性来设置默认值。例如,如果我们需要在创建 User 表时,给 email 设置默认值为“default@example.com”,可以使用如下代码:
----- - ---------- --------- - - --------------------- ----- --------- - --- ----------------------------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ -- ------ - ----- ----------------- ------------- ---------------------- -- --- ------ -- -- - ----- ---------------- ------ ---- --- ----- ---- - ----- ------------- ----- ------- --- ------------------------ -- ------- --------------------- -----
在上面的代码中,我们通过设置 email 的 defaultValue 属性为“default@example.com”,来定义了 email 的默认值。当我们在创建用户时,没有指定 email 属性的值,Sequelize 将自动使用该默认值。
方法二:使用 Getter 函数
我们还可以使用 model 的 Getter 函数来设置默认值。Getter 函数是一个用于获取属性值的方法,当我们读取某个属性时,如果该属性没有设置值,Sequelize 将会自动调用 Getter 函数来获取默认值。
例如,如果我们需要在创建 User 表时,给 name 设置默认值为“Anonymous”,可以使用如下代码:
----- - ---------- --------- - - --------------------- ----- --------- - --- ----------------------------- ----- ---- - ------------------------ - ----- - ----- ----------------- ---------- ------ ----- - -- -------------------------- --- ----- - ------ ------------ - ------ -------------------------- -- -- --- ------ -- -- - ----- ---------------- ------ ---- --- ----- ---- - ----- -------------- ----------------------- -- ------- ----------- -----
在上面的代码中,我们通过定义一个 Getter 函数来指定 name 的默认值。当我们创建用户时,如果没有指定 name 属性的值,Getter 函数将会被自动调用,从而返回默认值。
结论
在 Sequelize 中,我们可以通过设置数据类型的 defaultValue 属性或 model 的 Getter 函数,来定义默认值。这两种方法都可以根据需求,更加灵活地定义默认值。
参考资料
Sequelize 官方文档:https://sequelize.org/master/manual/default-values.html
思考题
- 如何在 Sequelize 中定义一个自增 ID?
- 如何在 Sequelize 中定义一个唯一约束?
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6734b1300bc820c5824a93d0