繁体   English   中英

nodejs如何使用findOne

[英]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,您还需要检查emailpassword 为此,我有一个可用的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM