![](/img/trans.png)
[英]How to save mongodb findone value to a javascript variable to use it later on nodejs
[英]nodejs how to use findOne
我是 nodejs 的新手。 我正在使用 mongodb 并尝试按用户名(用户名)查找用户。 我正在使用“findOne”方法,但由于某种原因它不起作用,在console.log(admin)
它给了我空值。 我希望你们能帮助我。
**代码 **
router.post('/login',(req,res)=>{
var name = req.body.username;
var password = req.body.password;
console.log(username);
console.log(password);
Admin.findOne({username:name}).then(admin =>{
consol.log(admin);
if(password == admin.username){
console.log("worked");
}else{
res.json("Error!");
}
}).catch((err)=>{
res.json(err);
});
});
要创建登录 API,您还需要检查email
和password
。 为此,我有一个可用的 API,我正在使用它并且工作正常。 因此,请尝试使用它。
var express = require('express');
var router = express.Router();
var promise = require('bluebird');
router.post('/login' , function(req , res){
var data = req.body;
return new promise(function(resolve , reject){
var db = mongoClient.db();
db.collection('uset').find({
"email":data.email,
"password":data.password
}).toArray().then((result) => {
if(result.length > 0){
res.send({status:1 , message:"Success"});
}
else{
res.send({status:0 , message:"No data found"});
}
});
}).catch((err) => {
console.log(err);
res.send({status:0 , message:"Something went wrong." , methodName:'login'});
})
});
注意:我已经使用Bluebird作为 promise。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.