无法调用方法' findOne'在Object.module.exports中未定义

时间:2014-05-17 06:22:56

标签: node.js mongodb express

需要知道我为什么要犯这个错误?我的方法是验证用户登录表单是否正确?我是node.js的新手,需要你的帮助。

var mongo = require('mongodb');
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/subscribe');

var mySchema = new mongoose.Schema({
    _id : String,
    name : String,
    phone : String,
    age : Number,
   password : String
   });

 var User = mongoose.model('signups', mySchema);

注册表单,将注册用户保存在mongodb集合中。

router.post('/signup', function(req, res) {
   var user = new User({
       _id : req.body.email,
   phone : req.body.phone,
   age : req.body.age,
   password : req.body.password
});
user.save(function (err, doc) {
    if (err) {
    res.send("There was a problem adding the information to the database.");
}
else {
        res.redirect('/');
    }
});
});

尝试验证用户凭据

router.post('/adduser',function(req, res){
db.signups.findOne({ $and: [{_id: req.body.useremail}, {password: req.body.password }]}, function(err, item) {  
    if (err) return res.send("Please provide valid credentials.");
else {
    res.redirect('/home');
    }
});
});

如何在此验证用户凭据?

0 个答案:

没有答案