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
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.