An opinionated way to connect with the mongodb driver.
Versions:
| mongo-getdb | mongodb | 
|---|---|
mongo-getdb@^6 | 
mongodb@^4 or mongodb@^5 or mongodb@^6 | 
mongo-getdb@^5 | 
mongodb@^4 | 
mongo-getdb@^4 | 
mongodb@^3 | 
mongo-getdb@^3 | 
mongodb@^2 | 
npm install mongo-getdb
var getDb = require('mongo-getdb');
getDb.init('mongo://localhost/mydb');
getDb(function (db) {
	db.collection('products')
	  .find({})
	  .toArray(function(er, prods) {
	  });
});getDb.init allows the same parameters than MongoClient.connect.
Because I keep doing the same thing over and over everytime I want to use mongodb from node and because this is what works for us most of the time.
This will "memoize" the result of MongoClient.connect, so you can use getDb anywhere.
var getDb = require('mongo-getdb');
getDb.init('db-one', 'mongodb://localhost/mydb');
getDb.init('db-two', 'mongodb://localhost/mydb2');
getDb('db-one', function (db) {
	db.collection('products')
	  .find({})
	  .toArray(function(er, prods) {
	  });
});var getDb = require('mongo-getdb');
getDb.init('db-one', 'mongodb://localhost/mydb');
getDb.init('db-two', 'mongodb://localhost/mydb2');
async function getDataFromBothDbs() {
  try {
    const db1 = await getDb('db-one');
    const db2 = await getDb('db-two');
    const [products, users] = await Promise.all([
      db1.collection('products').find({}).toArray(),
      db2.collection('users').find({}).toArray()
    ]);
    return { products, users };
  } catch (error) {
    console.error('Database error:', error);
  }
}MIT - 2013 - José F. Romaniello