connecting to mongodb with node.js code example

Example 1: how to connect local mongoDb to node

//with mongoose 

const mongoose = require('mongoose');

mongoose.connect(
    mongoURI,
    {
        useNewUrlParser: true,
        useUnifiedTopology: true
    },
    (err) => {
        if (err) console.log(err);
        app.listen(3000);
    }
);
/********************************************************************/
// with mongodb lib
const mongodb = require('mongodb');

const MongoClient = mongodb.MongoClient;

let _db;
// you can replace test with any database name that you want
const mongoConnect = (cb) => {
  MongoClient.connect('mongodb://127.0.0.1:27017/test')
    .then((client) => {
      _db = client.db();
      cb()
      console.log('Connected to MongoDb');
    }).catch((err) => {
      console.log(err);
    });
}
//after your server started you can use getDb to access mongo Database
const getDb = () => {
  if (_db) return _db;
  throw 'No database found';
}

exports.mongoConnect = mongoConnect;
exports.getDb = getDb;

Example 2: mongodb connection node

// create folder config and create two files below mentioned...

// default.json 
{
  "mongoURI": "add_your_key =_here"
}

/// db.js
const mongoose = require("mongoose");
const config = require("config");
const db = config.get("mongoURI");

const connectDB = async () => {
  try {
    await mongoose.connect(db, {
      useNewUrlParser: true,
      useCreateIndex: true,
      useFindAndModify: false,
    });
    console.log("MongoDB connected...");
  } catch (err) {
    console.log(err.message);
    process.exit(1);
  }
};

# DONE// dependencies
  npm i express bcryptjs jsonwebtoken config express-validator mongoose

// dev-dependencies
  npm i -D nodemon concurrently