mongodb connect to database 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: how to connect mongodb with node js

async function main(){
    /**
     * Connection URI. Update <username>, <password>, and <your-cluster-url> to reflect your cluster.
     * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
     */
    const uri = "mongodb+srv://<username>:<password>@<your-cluster-url>/test?retryWrites=true&w=majority";
 

    const client = new MongoClient(uri);
 
    try {
        // Connect to the MongoDB cluster
        await client.connect();
 
        // Make the appropriate DB calls
        await  listDatabases(client);
 
    } catch (e) {
        console.error(e);
    } finally {
        await client.close();
    }
}

main().catch(console.error);

Example 3: 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