Introduction to MongoDB Drivers | MongoDB Node.js Database Interaction

If you are interested ton learn about the Data API in MongoDB

MongoDB Drivers

The MongoDB Shell (mongosh) is great, but generally you will need to use MongoDB in your application. To do this, MongoDB has many language drivers.

The language drivers allow you to interact with your MongoDB database using the methods you’ve learned so far in `mongosh` but directly in your application.

These are the current officially supported drivers:

  • C
  • C++
  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby
  • Rust
  • Scala
  • Swift

MongoDB Node.js Database Interaction

Node.js Database Interaction

For this tutorial, we will use a MongoDB Atlas database. If you don’t already have a MongoDB Atlas account, you can create one for free at MongoDB Atlas.

We will also use the “sample_mflix” database loaded from our sample data in the Intro to Aggregations section.


MongoDB Node.js Driver Installation

To use MongoDB with Node.js, you will need to install the mongodb package in your Node.js project. Use the following command in your terminal to install the mongodb package:

npm install mongodb

We can now use this package to connect to a MongoDB database. Create an index.js file in your project directory.

index.js

const { MongoClient } = require('mongodb');

Connection String

In order to connect to our MongoDB Atlas database, we’ll need to get our connection string from the Atlas dashboard.

Go to Database then click the CONNECT button on your Cluster.

Choose Connect your application then copy your connection string.

Example: mongodb+srv://<username>:<password>@<cluster.string>.mongodb.net/myFirstDatabase?retryWrites=true&w=majority

You will need to replace the <username><password>, and <cluster.string> with your MongoDB Atlas username, password, and cluster string.


Connecting to MongoDB

Let’s add to our index.js file.

index.js

const { MongoClient } = require('mongodb');

const uri = "<Your Connection String>";
const client = new MongoClient(uri);

async function run() {
  try {
    await client.connect();
    const db = client.db('sample_mflix');
    const collection = db.collection('movies');

    // Find the first document in the collection
    const first = await collection.findOne();
    console.log(first);
  } finally {
    // Close the database connection when finished or an error occurs
    await client.close();
  }
}
run().catch(console.error);

Run this file in your terminal.

node index.js

You should see the first document logged to the console.

CRUD & Document Aggregation

Just as we did using mongosh, we can use the MongoDB Node.js language driver to create, read, update, delete, and aggregate documents in the database.

Expanding on the previous example, we can replace the collection.findOne() with find()insertOne()insertMany()updateOne()updateMany()deleteOne()deleteMany(), or aggregate().

Introduction to MongoDB Drivers | MongoDB Node.js Database Interaction
Show Buttons
Hide Buttons