native-mongo-util
v8.1.2
Published
Utility package to connect multiple mongo databases. Supports SSH tunneling.
Downloads
212
Readme
native-mongo-util
Utility package to connect multiple mongo databases. Supports SSH tunneling.
Usage
Connect single db by configuring mongdb url in
MONGO_URL
env var.export MONGO_URL=mongodb://localhost/test
Code 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 newConnection
class instance.mongoURL
is valid mongodb connection string.options
is MongoClient optionsasync exports.connect(options)
Async function that connects to mongodb, usingMONGO_URL
env var. MongoClientoptions
can also be passed. Returns MongodbDB
class instanceexports.getCollection(collectionName)
Returns Mongodb collection (Collection
instance) forcollectionName
.async exports.getClient()
Returns MongodbMongoClient
class instanceexports.getDBName()
Returns connected mongodb nameClass Connection methods
constructor(mongoURL, options)
Valid mongodb connection string and MongoClient optionsasync connect()
Async method connects to mongodb, usingmongoURL
for the same instance. Returns MongodbDB
class instancegetCollection(collectionName)
Returns mongodb collection.getDBName()
Returns db nameasync getClient()
Returns MongodbMongoClient
instance.
Environment Variables
MONGO_URL
Mongo connection urlPROCESS_EXIT_ON_MONGO_ERROR
Prevent node process exit on any Mongo error. Default value istrue
.SSH_HOST
ssh hostname or ipSSH_USER
ssh user for remote connectionSSH_PASSWORD
ssh connection passwordSSH_KEY_PATH
ssh private key path like~/.ssh/id_rsa
. Either ofSSH_PASSWORD
orSSH_KEY_PATH
must be provided depending on remote server auth mode.