【发布时间】:2016-04-01 17:10:07
【问题描述】:
大家好,是 Sails.js 的新手(使用 MySQL) 我正在尝试查找用户在注册之前是否已经存在。
这是代码:
register:function(req, res, next){
var params = req.params.all();
User.find({
or : [
{ usrnm:params.usrname },
{ eml:params.eml }
]
})
.exec(function (err, user){
if (err) {
return res.negotiate(err);
}
if (user) {
res.status(400);
return res.json('User already exists!');
}
});
User.create(params, function(err, user){
if(err){
return next(err);
}
res.status(201);
res.json(user);
});
}
问题是:
响应总是“用户已经存在!”状态码 - 400
- 如果用户存在具有给定的用户名或/和电子邮件,则无论如何都会显示上述消息,然后控制台中会记录一些内容(我不明白)并且用户没有像在我的 MySQL 中那样创建两个字段是唯一的。
- **如果用户不存在**用户在后面创建,但仍然显示上述消息。
我只想在用户存在时显示消息(即,如果给定的凭据匹配)否则以 201 响应
【问题讨论】:
-
看起来您正在创建用户,即使他们确实存在,您需要在检查用户是否存在后将其放在 else 块中
-
是的,代码在下面……
-
尝试将 Creation 部分放在“else”中,但问题仍然存在
-
你试过下面的代码了吗?你能用你的新代码更新吗?
-
我尝试了下面的确切代码,但没有成功
标签: javascript mysql node.js sails.js