[英]NodeJS & Mongoose not returning documents
我有一條接收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);
};
“用戶”模型已連接到正確的數據庫,並且連接狀態= 1,在控制台上沒有出現任何錯誤,那么可能是什么問題呢? 提前致謝
解決了,貓鼬文檔說:
第一個參數是您的模型所使用的集合的單數名稱。 貓鼬會自動查找您的型號名稱的復數形式。 因此,對於上面的示例,模型Tank用於數據庫中的tanks集合。
我沒有注意這一點,因為我的模型的名稱是User,所以我應該有一個名為users的集合,但是我在數據庫中擁有的只是User,在創建“ users”集合后,一切都可以進行了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.