I can't seem to close the MongoDB connection with the native Node.js driver. When I run node replica.js , the script never ends, so for some reason the connection cannot be closed.
Here is the code. This is a set of replicas, but I don't think this is a problem:
var mongodb = require('mongodb') , Db = mongodb.Db , Server = mongodb.Server , ReplSet = mongodb.ReplSet; // Replica set var replSet = new ReplSet( [ new Server('localhost', 27017), // Primary new Server('localhost', 27018), // Secondary new Server('localhost', 27016), // Secondary ], { rs_name: 'replica', read_secondary: true } ); var db = new Db('test', replSet, { native_parser: true, w: 1 }); // Opening db.open(function (err, db) { if (err) console.error(err); db.close(); });
Connecting to one instance of mongod works fine, the connection closes, and the script ends without the need (suggested by robertklep) to call process.exit() :
var mongodb = require('mongodb') , Db = mongodb.Db , Server = mongodb.Server; // Single instance var server = new Server('localhost', 27017): var db = new Db('test', server, { native_parser: true, w: 1 }); // Opening db.open(function (err, db) { if (err) console.error(err); db.close(); });
gremo
source share