我编写了这段代码来检查数据库中是否已经存在电子邮件:async store (req,res) {const email = req.body.email;let user = await User.findOne ({ email: email });if (user) { console.log('Already exist.')};(...)}但它不起作用:我可以将信息存储在用户集合中,但它的电子邮件未经过验证。我正在使用猫鼬。我做错了什么?
2 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
您需要exec()
在最后使用才能实际运行查询:
let user = await User.findOne({ email: email }).exec();
此外,由于您使用的是await
,请确保包含函数已标记为async
。
我可以给你的信息有限,因为你只是说“它不起作用”。这并不能告诉我任何事情。你运行它并且没有任何反应吗?它会给你一个错误吗?这个网站上的人不喜欢听到这样的话:“它不起作用”。
凤凰求蛊
TA贡献1825条经验 获得超4个赞
您尚未描述您的用例,但如果您希望避免电子邮件冲突,使用猫鼬,当您定义对象的架构时,您可以使用该unique: true
选项。然后它将拒绝任何提交已存储电子邮件的新用户或更新用户。
添加回答
举报
0/150
提交
取消