Node.js 检查电子邮件是否存在的正确方法sequelize(节点js)?

Node.js 检查电子邮件是否存在的正确方法sequelize(节点js)?,node.js,postgresql,authentication,sequelize.js,Node.js,Postgresql,Authentication,Sequelize.js,我从sequelize开始,为了测试它,我正在构建一个用户注册系统。 我对email字段有一个唯一的限制,因为我不希望多个用户拥有相同的email。 要检查电子邮件是否已注册,我使用以下if语句: const emailExists = (await User.findOne()).where('email', email); if (emailExists) return res.json("Email already registered") 但

我从sequelize开始,为了测试它,我正在构建一个用户注册系统。
我对email字段有一个唯一的限制,因为我不希望多个用户拥有相同的email。 要检查电子邮件是否已注册,我使用以下if语句:

           const emailExists = (await User.findOne()).where('email', email);
           if (emailExists) return res.json("Email already registered")
但我觉得这不是正确的方法。 有谁能告诉我,如果这是一个更好的(我认为是这样)检查电子邮件是否已经注册

我还有一个索引:
“users\u unique\u lower\u email\u idx”unique,btree(lower(email::text))
在我的桌子上,当执行检查时,它似乎不起作用,如果有人知道方法并能回答我,我会很高兴的。

试试这个:

const emailExists=wait User.findOne({where:{email:'email'}});
如果(电子邮件存在){
res.json(“电子邮件已注册”)
}
试试这个:

const emailExists=wait User.findOne({where:{email:'email'}});
如果(电子邮件存在){
res.json(“电子邮件已注册”)
}
“更好的方法”是一个意见问题。在您的情况下,您可以对用户进行
计数
并将限制设置为1,如果其
1
存在,则它存在
0
。那么它更像是一个
布尔值
,也就是说,它不是
null
未定义的
。然后还有其他验证,您可以使用Sequelizet在每个模型上应用。“更好的方法”是一个意见问题。在您的情况下,您可以对用户进行
计数
并将限制设置为1,如果其
1
存在,则它存在
0
。那么它更像是一个
布尔值
,也就是说,它不是
null
未定义的
。然后,您还可以使用Sequelizet在每个模型上应用其他验证。