【发布时间】:2016-01-29 03:54:07
【问题描述】:
我正在尝试编写一个中间件函数(当使用用户名/密码发出 POST 请求时)检查正在创建的用户是否已存在于数据库中。我不知道我是否正确地这样做了。
User.find({ username: req.body.username }) 返回一个包含(或不包含)用户(如果存在)的对象......但是如果找到相同用户名下的用户,如何正确地return 退出?每当我使用 Mocha 进行测试时,res.body.msg 都会出现未定义。
代码:
module.exports = exports = function(req, res, next) {
User.find({ username: req.body.username }, (err, user) => {
if (err) return handleDBError(err, res);
if (user) return res.status(200).json({ msg: 'an account with this username already exists' });
});
next();
};
用户架构:
var userSchema = new mongoose.Schema({
username: String,
authentication: {
email: String,
password: String
}
});
【问题讨论】:
标签: node.js mongodb mongoose middleware