3 var url = require( 'url' );
5 var mongo = require( 'mongodb' );
7 module.exports.open = function( uri, callback ) {
9 throw new Error( 'No URI defined!' );
12 var parsed = url.parse( uri );
13 var path = parsed.pathname.split( '/' );
15 var port = parsed.port || 27017;
16 var host = parsed.hostname || 'localhost';
19 var collection = path[ 2 ];
22 var auth = parsed.auth.split( ':' );
24 var username = auth[ 0 ];
25 var password = auth[ 1 ];
29 throw new Error( 'Unable to parse database name!' );
32 var server = new mongo.Server( host, port, { auto_reconnect : true } );
33 var database = new mongo.Db( db, server );
35 database.open( function( err, database ) {
36 // XXX: add authentication
41 // do we want to open a specific collection? otherwise just return DB
43 callback( null, database );
45 database.createCollection( collection, function( err, c ) {