NodeJS&猫鼬没有归还文件

时间:2017-10-01 17:47:45

标签: node.js mongoose

我有这条接收POST请求的路由:

router.post('/auth', (req, res, next) => {
    const username = req.body.username;
    const password = req.body.password;

    User.getUserByUsername(username, (err, user) => {
        if(err) 
            return res.json({success: false, msg: err});
        if(!user) 
            return res.json({success: false, msg: 'User not found'});
        return res.json(user);
});
});

这是我目前收藏的文件:

db.User.find().pretty()
{
        "_id" : ObjectId("59d0e0465d91ce115f50935c"),
        "name" : "Soufiane",
        "email" : "example@gmail.com",
        "username" : "example",
        "password" : "123"
}

使用Restman,这是我的请求主体:

{
    "username": "example",
    "password": "123"
}

但结果是"用户未找到",这是我的getUserByUsername函数:

module.exports.getUserByUsername = (_username, callback) => {
    const query = {username: _username};
    User.findOne(query, callback);
};

"用户" model连接到正确的数据库,并且连接Status = 1,我在控制台上没有错误,那么可能是什么问题? 提前致谢

1 个答案:

答案 0 :(得分:0)

解决了,mongoose文档说:

  

第一个参数是模型集合的单数名称   是为了。 Mongoose会自动查找您的复数版本   型号名称。因此,对于上面的例子,模型坦克是为了   坦克收集在数据库中。

我没有注意到这一点,因为我的模型名称是User,我应该有一个名为users的集合,但我创建'用户&#39后,我在数据库中的所有内容都是User ;收藏品,一切都解决了。