hi new mongodb , nodejs. using "mongojs" module simple read data mongodb. code goes follows:
var dbname = 'xxxx'; var databaseurl = 'mongodb://localhost:27017/'+dbname; var collections = ['candidate','cities','states','countries']; var mongojs = require('mongojs'); var db = mongojs(databaseurl, collections); db.candidate.findone({fname:'xxx'},function(err,doc){ if(err){ console.log(err); } else{ console.log(doc); } }); db.close(); when run them in terminal error:
{ name: 'mongoerror', message: 'server localhost:27017 sockets closed' } seems db.close() getting executed before data fetched. how handle such kind of issues.
the above code asynchronous. while operation db.candidate.findone() being carried out. node not wait process complete , starts executing line. putting, db.close() in callback can solve error.
var dbname = 'xxxx'; var databaseurl = 'mongodb://localhost:27017/'+dbname; var collections = ['candidate','cities','states','countries']; var mongojs = require('mongojs'); var db = mongojs(databaseurl, collections); db.candidate.findone({fname:'xxx'},function(err,doc){ if(err){ console.log(err); } else{ console.log(doc); } db.close(); }); i novice in node. yes, @blake correct said, may never want close db connection.
Comments
Post a Comment