javascript - In MongoDB, how come searching for an email that does not exist, crashes my entire app -


in node.js express app, i'm setting user sign in, first time going through kind of self teaching.

i have function here,

var db     = require('mongojs').connect('localhost/busapp', ['users']),     crypto = require('crypto');  exports.new = function(req, res) {      function user(email, password) {         this.email = email;         this.password = password;     }      var user = new user(req.body.user.email, req.body.user.password);     console.log(user.email + user.password);      db.users.find({'email':user.email}, function(err, userfound) {          if (err) {             console.log('we have error :(');         } else if (userfound === 'undefined') {             console.log('we couldn\'t find user ' + user.email);             return;         } else {             console.log('we have fixed error, hooorraayyy!! ' + userfound[0].email)         }      });  } 

but console log appears

we found user! undefined 

i'm not sure doing wrong if shed light on situation great, thanks!

ok fixed changing code above, have problem, if try search email not exist, crashes entire app error:

c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\connection\server.js:529         throw err;               ^ typeerror: cannot read property 'email' of undefined     @ c:\users\gacnt\desktop\busapp\routes\session.js:22:72     @ c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\cursor.js:159:16     @ commandhandler (c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\cursor.js:628 :16)     @ null.<anonymous> (c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\db.js:1709: 18)     @ g (events.js:175:14)     @ eventemitter.emit (events.js:106:17)     @ server.base._callhandler (c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\con nection\base.js:130:25)     @ c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\connection\server.js:522:20     @ mongoreply.parsebody (c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\respons es\mongo_reply.js:132:5)     @ null.<anonymous> (c:\users\gacnt\desktop\busapp\node_modules\mongojs\node_modules\mongodb\lib\mongodb\connection\ server.js:481:22) ps c:\users\gacnt\desktop\busapp> 

i've never worked javascript driver mongo, looks line query wrong. me user object undefined , doesn't have email property. mongo js driver tries resolve value of property before passes query mongo engine, failes non existing users have exception. try add check whether user object correct before querying mongo.

btw, code snippet not clear print message 'we found user! undefined' please double check hope helps


Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -