gpt4 book ai didi

javascript - 如何在保存到 Mongoose 之前检查数据库中是否存在嵌入文档

转载 作者:行者123 更新时间:2023-11-28 20:33:55 26 4
gpt4 key购买 nike

我正在使用 Express、Mongoose 和 PassportJS 制作一个基本的身份验证系统。我想要做的是检查数据库中输入的用户名和密码是否已存在于数据库中。下面是我的示例代码:

//Post: /signup
app.post('/signup', function (req, res) {
var username = req.body.person.user.username;
var password = req.body.person.user.password;

Person.user.find({'username': username}, function (err, user) {
if (err) {
console.log(err.name);
} else {
console.log('User Found');
}
});
});

问题是它返回这种错误:

TypeError: Cannot call method 'find' of undefined

有人可以帮助我吗?

最佳答案

正如 robertklep 指出的那样,您没有正确检查用户是否存在。另外,由于用户名很可能是唯一的,因此您可以只使用 findOne (findOne() 返回单个对象,而 find() 也可能返回单个对象,但会将其包装在数组中)。

Person.findOne({'username': username}, function (err, user) {
if (err) {
console.log(err.name);
return;
}
if (!user)
console.log('User not Found');
return;
}
console.log('User found');

});

关于javascript - 如何在保存到 Mongoose 之前检查数据库中是否存在嵌入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809262/

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