native-mongo-util
v8.1.2
Published
Utility package to connect multiple mongo databases. Supports SSH tunneling.
Readme
native-mongo-util
Utility package to connect multiple mongo databases. Supports SSH tunneling.
Usage
Connect single db by configuring mongdb url in
MONGO_URLenv var.export MONGO_URL=mongodb://localhost/testCode to connect the above db & get mongo collection instance.
const { connect, getCollection } = require('native-mongo-util'); (async () => { try { await connect({ poolSize: 20 }); // connect to db with options to MongoClient const userCollection = getCollection('user'); const allUsers = await userCollection.find().toArray(); console.log(allUsers); } catch (err) { console.log('Error ocurred while connecting DB', err); throw err; } })();Connecting other mongo db
const { newConnection } = require('native-mongo-util'); (async () => { try { const mongoURL = 'mongodb://localhost/someOtherDB'; const connection = newConnection(mongoURL, { poolSize: 20 }); // Provide mongo uri & MongoClient options await connection.connect(); // connect to someOtherDB const studentsCollection = connection.getCollection('students'); // get students collection from someOtherDB connection. const allUsers = await studentsCollection.find().toArray(); console.log(allUsers); } catch (err) { console.log('Error ocurred while connecting DB', err); throw err; } })();
API
exports.newConnection(mongoURL, options)Function will create & return newConnectionclass instance.mongoURLis valid mongodb connection string.optionsis MongoClient optionsasync exports.connect(options)Async function that connects to mongodb, usingMONGO_URLenv var. MongoClientoptionscan also be passed. Returns MongodbDBclass instanceexports.getCollection(collectionName)Returns Mongodb collection (Collectioninstance) forcollectionName.async exports.getClient()Returns MongodbMongoClientclass instanceexports.getDBName()Returns connected mongodb nameClass Connection methods
constructor(mongoURL, options)Valid mongodb connection string and MongoClient optionsasync connect()Async method connects to mongodb, usingmongoURLfor the same instance. Returns MongodbDBclass instancegetCollection(collectionName)Returns mongodb collection.getDBName()Returns db nameasync getClient()Returns MongodbMongoClientinstance.
Environment Variables
MONGO_URLMongo connection urlPROCESS_EXIT_ON_MONGO_ERRORPrevent node process exit on any Mongo error. Default value istrue.SSH_HOSTssh hostname or ipSSH_USERssh user for remote connectionSSH_PASSWORDssh connection passwordSSH_KEY_PATHssh private key path like~/.ssh/id_rsa. Either ofSSH_PASSWORDorSSH_KEY_PATHmust be provided depending on remote server auth mode.
