Nothing lasts forever. So if you want a library to last forever, technology is not the space for you - John Papa

MEAN Stack Development with MongoDB

Introduction

  • This is just an introduction of MEAN Stack and MongoDB.
  • I'll write more about MEAN Stack in the future.
  • This is the first part of the series of articles which I will write about the MEAN.

MEAN Stack Development with MongoDB

What is MEAN Stack ? 

  • The MEAN stack is a powerful, full-stack JavaScript solution.
  • That contains 4 major building blocks or components.
  • Which are MongoDB, Express, AngularJS and Node.js 


What is MongoDB ?

MEAN Stack Development with MongoDB
  • MongoDB is an open source, document-oriented database.
  • In MongoDB you can store JSON-like documents with dynamic schemas.

What is Express ?

MEAN Stack Development with MongoDB
  • Express is a minimal and flexible Node.js web application framework.
  • It provides a robust set of features for building single and multi-page, and hybrid web applications.


What is AngularJs ?

MEAN Stack Development with MongoDB
  • AngularJS is a web client framework.
  • It extends the HTML vocabulary for your application.
  • The resulting environment is extraordinarily expressive, readable, and quick to develop.


What is Node.js ?

MEAN Stack Development with MongoDB
  • Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.
  • It uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
  • It's perfect for data-intensive real-time applications that run across distributed devices.

What are the advantages of using MEAN stack ?

  • A single language is used throughout the application.Which is JavaScript.
  • All the parts of the application can support and often enforce the use of the MVC architecture.
  • Serialization and deserialization of data structures is no longer needed hence data marshalling is done using JSON objects.


How to Install MongoDB on Windows ?

Step 1 :
  • My laptop is having Win 8.1 OS.So I'm going to download the Windows 64 bit Msi version.
  • You can download it from Here.

MEAN Stack Development with MongoDB


Step 2 : 
  • Just double-click the Msi file.
  • Then you'll see a set of screens which will appear to guide you through the installation process.
  • I accepted default settings for all the screens.

MEAN Stack Development with MongoDB



Step 3 :
  • The default path for the installation as shown below.
MEAN Stack Development with MongoDB


Step 4 :
  • I have created a new folder named as 'mongodb' on 'c:\' drive.
  • This step is optional.You can run MongoDB from any folder as you wish.
  • After that contents have been moved into that folder as shown below. 

MEAN Stack Development with MongoDB









How to Run MongoDB ?

Step 1 :
  • MongoDB requires a 'data' directory to store all the data.
  • MongoDB’s default data directory path is 'c:\data\db'.
  • I have created  a 'data\db' folder on 'C' drive.It looks like below.

MEAN Stack Development with MongoDB

Step 2 :
  • Run 'Command Prompt' with “Administrative Privileges”.
  • To start MongoDB, run 'mongod.exe' on command prompt as shown below.
          C:\WINDOWS\system32>cd C:\mongodb\bin
          C:\mongodb\bin>mongod.exe

MEAN Stack Development with MongoDB











  • You can see that the main MongoDB service where it starts listening to the default port 27017.
  • Which means it starts the main MongoDB database process.
  • The 'waiting for connections' message in the console output indicates that the mongod.exe process is running successfully.


How to Create a Windows Service for MongoDB ?

  • We can use Windows Service for running MongoDB automatically after every reboot cycle.
  • Which is the more popular approach for running MongoDB on windows machines.
  • Before we begin setting up MongoDB as a Windows Service, it's considered good practice to specify a path for the MongoDB log and configuration files.Let's do it first.

Step 1 :
  • Create a directory inside the 'data' folder as 'log'.
  • This is for the log files.It's shown as below.

MEAN Stack Development with MongoDB

Step 2 :
  • Let's create a configuration file.
  • This configuration  file can include any of the configuration options for mongod.
  • But it must include a valid setting for the 'logpath' which we created on Step 1.
  • The following command creates a configuration file, specifying both the 'logpath' and the 'dbpath' settings in the configuration file.
         C:\>echo logpath=c:\data\log\mongod.log> "C:\mongodb\mongod.cfg"
         C:\>echo dbpath=c:\data\db>> "C:\mongodb\mongod.cfg"

MEAN Stack Development with MongoDB
  • It creates 'mongod.cfg' file inside the 'C:\mongodb' folder.
  • It looks like below.

MEAN Stack Development with MongoDB

Step 3 :
  • Let's create a MongoDB service.
  • For that,you have to run the below mentioned command on command prompt (which is having administrator privileges ( Run as administrator)).

C:\> sc.exe create MongoDB binPath=  "\"C:\mongodb\bin\mongod.exe\" --service --config=\"C:\mongodb\mongod.cfg\"" DisplayName= "MongoDB 2.6 Standard" start= "auto"

Note : sc.exe requires a space between “=” and the configuration values (eg “binPath= ”), and a “” to escape double quotes.
  • If the service was successfully created, you will get the following log message.
          [SC] CreateService SUCCESS

MEAN Stack Development with MongoDB


Step 4 : Run
  • We have installed our MongoDB service.Now you can run it by executing the following command in the command prompt window.
          C:\>  net start MongoDB

MEAN Stack Development with MongoDB


Step 5 : Stop
  • If you need to stop the MongoDB service, use the following command.
       C:\>  net stop MongoDB


MEAN Stack Development with MongoDB

How to use the MongoDB shell ?

  • You can find out the MongoDB shell inside the 'C:\mongodb\bin' folder. 
  • Which allows you to interact with MongoDB server instance using the command line.

Step 1 :
  • To start the shell, you have to navigate to the mongodb bin folder as shown below.
          C:\> cd C:\mongodb\bin


Step 2 :
  •  After that you can run the 'mongo' service as shown below.
          C:\mongodb\bin> mongo
  • If you successfully installed MongoDB, the shell will automatically connect to your local instance, using the 'test' database.
  • You will see a console output similar to the following screenshot.

MEAN Stack Development with MongoDB


Step 3 :
  • Let's do some MongoDB data manipulations.
  • Type following command on the MongoDB shell.
          > db.books.insert({title: "Hello MEAN World"})
  • The preceding command will create a new 'books' collection and insert a JSON object containing a 'title' property.
  • To retrieve the book object, execute the following command.
        > db.books.find()
  • The shell console will output the following message.
         { "_id" : ObjectId("54cc8cfedc0606c101f00e95"), "title" : "Hello MEAN World" }


MEAN Stack Development with MongoDB
  • It means your MongoDB instance is working properly and you have successfully managed to interact with it using the MongoDB shell. 
  • Congratulations !. You have done that.

Step 4 :
  • If you need to exit from the shell,just type 'exit'.
         > exit


What is Robomongo ?

  • Robomongo is a shell-centric cross-platform open source MongoDB management tool (i.e. Admin GUI).
  • Robomongo embeds the same JavaScript engine that powers MongoDB's mongo shell.
  • Everything you can write in mongo shell where you can write in Robomongo.


How to Install Robomongo on Windows ?


MEAN Stack Development with MongoDB

  • Just double click the downloaded installer set-up and accept the default settings for all the screens.That's it.

MEAN Stack Development with MongoDB


How to work with the Robomongo ?

Step 1 :
  • Just double click the auto created 'Robomongo' short cut on the desk top.
  • It'll open the GUI of the Robomongo.

Step 2 :
  • After that you have to create a connection string for the MongoDB database.
  • You can use 'Create' link to create a new database connection as shown below.

MEAN Stack Development with MongoDB

  • I have given a connection name as 'MongoDbTest' and Address with port number (i.e. port of MongoDB server) as 'localhost : 27017'.
  • You can test your connection by using 'Test' button as shown above.
  • After that you can use the 'Save' button to save the changes.

Step 3 : 
  • You can do huge set of MongoDB operations by using this awesome Robomongo GUI.
  • Just a few of them are shown below.

MEAN Stack Development with MongoDB

  • Here I have used the 'test' database with the 'books' collection where we created earlier.
  • If you need to see the full list of features, please visit their home page here. 


References


Conclusion

  • In this article, you learned basics of MEAN stack development.
  • You also learned how to install MongoDB and how to connect to your local database instance using the MongoDB shell.
  • You also learned how to install and use the MongoDB management tool Robomongo GUI.
  • In the next article,we'll discuss how to install Node.js and the basics of Node.js.
  • I hope this helps to You.Comments and feedback greatly appreciated.

Sampath Lokuge

  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

2 comments:

  1. I hope you post everytime! I love JS

    ReplyDelete
    Replies
    1. Hi,
      You're warmly welcome :)
      Yes,Sure, I'll write more about the MEAN Stack in the future.Await for that ....

      Delete

Thanks for your Feedback.