gpt4 book ai didi

node.js - Sequelize - 需要一个没有对应表列的属性

转载 作者:行者123 更新时间:2023-12-03 22:26:47 24 4
gpt4 key购买 nike

假设我有一个 User 模型,并且将基于该模型创建一个名为 users 的表。

我将其字段定义如下。

User.init({
username: {....},
password: {....}
}, {sequelize, modelName: 'user'});

假设我要求用户确认他们的密码(一种非常常见的做法),并且想要验证这两个字段( passwordcpassword )是否相同,并且我想将其作为使用模型范围验证的模型验证的一部分来执行,所以我的模型会变成这样。
User.init({
username: {....},
password: {....},
cpassword: {...},
validate: {
checkIfEqual() {
if (cpassword !=== password) throw new Error("not same")
}
}
}, {sequelize, modelName: 'user'});

显然我不想在用户表中有 cpassword 列。

我可以在调用 User.Create 之前手动检查它,但我希望将该检查作为整体用户模型验证的一部分。

有什么解决方法吗?

最佳答案

我认为您正在寻找的是 VIRTUAL 属性。它们没有存储在您的表中,但您可以在 models 中使用它们。

我在 Sequelize documentation 上找到了很好的例子。请检查一下。

关于node.js - Sequelize - 需要一个没有对应表列的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56560702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com