How to manage mongodb connections in a nodejs webapp?
The answer of that question is superb. I would like code however to show this. I've tried the following but since it connects async the connection is not ready by the time I want to do my database query. I'm wondering how do others do this?
'use strict';
// database stuff
var mongodb = require('mongodb'); // mongodb drivers
var MongoClient = mongodb.MongoClient; // interface
var url = 'mongodb://127.0.0.1:27017/self';
// generator flow control
var co = require('co');
// database connect function
var dbConnect = function (url) {
    // get the db object
    MongoClient.connect(url, {
        safe: true
    }, function (err, db) {
        if (err) throw err;
        console.log('mongodb connection successful');
        return db;
    });
};
var db = dbConnect(url);
// generator function with flow control
co(function* () {
    console.log('starting db query');
    // count documents in collection
    var result =
        yield new Promise(function (resolve, reject) {
            if (err) reject(err);
            db.collection('test').count(function (err, res) {
                if (err) reject(err);
                resolve(res);
            });
        });
    // output number of documents in collection
    console.log(result);
});
// more code....
I would like to use the variable db anywhere in my app.
 
     
    