Node.js Basics — MongoDB Basics
Tags: node, javascript, programming, webdev
Published: 2021-01-24 01:17:03

**Check out my books on Amazon at https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62**

**Subscribe to my email list now at http://jauyeung.net/subscribe/**

Node.js is a popular runtime platform to create programs that run on it.

It lets us run JavaScript outside the browser.

In this article, we’ll look at how to start using Node.js to create programs.

### MongoDB

MongoDB is another NoSQL database that we can use in our Node.js app.

It can also store key-value pairs.

MongoDB is hosted in a server either through the cloud or in our own servers.

To use it in our Node app, we run:

```
npm install mongodb
```

Then we can use it in our package.

We also need to install the MongoDB server from [https://www.mongodb.com/try/download/community](https://www.mongodb.com/try/download/community)

Once we installed the package in our project and the server, we can connect to it in our app.

To do that, we write:

```
const { MongoClient } = require('mongodb');
const connection = "mongodb://localhost:27017";
const client = new MongoClient(connection);

async function run() {
  try {
    await client.connect();
    await client.db("test").command({ ping: 1 });
    console.log("Connected successfully to server");
  } finally {
    await client.close();
  }
}
run().catch(console.dir);
```

We call `MongoClient` function with the connection string to connect to the database server with the given connection string.

In the `run` function, we call `client.connect()` to do the connection.

Then we call `client.db` to connect to the given database.

The `command` method sends the command we want to the server.

The `client.close` method closes the connection and clean up any resources.

### Inserting Data

We can get the collection we want to save our data to and save the data there.

To do that, we write:

```
const { MongoClient } = require('mongodb');
const connection = "mongodb://localhost:27017";
const client = new MongoClient(connection);

async function run() {
  try {
    await client.connect();
    const testCollection = await client.db("test").collection('test');
    const result = await testCollection.insertOne({ foo: 'bar' });
    console.log(result)
  } finally {
    await client.close();
  }
}
run().catch(console.dir);
```

We connect to the database we want with the `db` method.

Then we get the collection we want to save data to with the `collection` method.

Next, we call `insertOne` on the resolved collection object to insert an object.

And finally, we log the result.

Also, we can use the `insertMany` method to insert multiple documents.

For example, we can write:

```
const { MongoClient } = require('mongodb');
const connection = "mongodb://localhost:27017";
const client = new MongoClient(connection);

const pizzaDocuments = [
  { name: "Sicilian pizza", shape: "square" },
  { name: "New York pizza", shape: "round" },
  { name: "Grandma pizza", shape: "square" },
];

async function run() {
  try {
    await client.connect();
    const testCollection = await client.db("test").collection('test');
    const result = await testCollection.insertMany(pizzaDocuments);
    console.log(result)
  } finally {
    await client.close();
  }
}
run().catch(console.dir);
```

We just pass in an array into the `insertMany` method.

### Conclusion

We can use the MongoDB driver to connect to a MongoDB database and then insert one or more documents into our database collection.