Setting up a MongoDB database connection with node.js

How would I set up a MongoDB database connection with node.js?

Here is my app.js file:

var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

server.listen(3000);

app.get('/', function(req, res) {
    res.sendfile(__dirname + '/index.htm');
});

app.use(express.static(__dirname + '/assets'));

io.sockets.on('connection', function(socket) {
    socket.on('send message', function(data) {
        io.sockets.emit('new message', data);
    });
});

I have already set-up MongoDB and have it running as a service on Windows.

As of 1.2, the recommended way to perform a connection is in documentation:

http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html

excerpt:

var MongoClient = require('mongodb').MongoClient
  , Server = require('mongodb').Server;

var mongoClient = new MongoClient(new Server('localhost', 27017));
mongoClient.open(function(err, mongoClient) {
  var db1 = mongoClient.db("mydb");

  mongoClient.close();
});

You may find that a connection singleton is useful for the current state of the official node.js driver. Below is some sample code that I use:

connection.js module:

var MongoClient = require('mongodb').MongoClient;

var db_singleton = null;

var getConnection= function getConnection(callback)
{
    if (db_singleton)
    {
        callback(null,db_singleton);
    }
    else
    {
           //placeholder: modify this-should come from a configuration source
        var connURL = "mongodb://localhost:27017/test"; 
        MongoClient.connect(connURL,function(err,db){

            if(err)
                log("Error creating new connection "+err);
            else
            {
                db_singleton=db;    
                log("created new connection");

            }
            callback(err,db_singleton);
            return;
        });
    }
}

module.exports = getConnection;

Referencing module:

var getConnection = require('yourpath/connection.js')

function yourfunction()
{
    getConnection(function(err,db)
    {
        //your callback code

    }
.
.
.
}