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.
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 ?
- MongoDB is an open source, document-oriented database.
- In MongoDB you can store JSON-like documents with dynamic schemas.
What is Express ?
- 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 ?
- 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 ?
- 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.
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.
Step 3
- The default path for the installation as shown below.
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.
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.
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
- 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.
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"
- It creates 'mongod.cfg' file inside the 'C:\mongodb' folder.
- It looks like below.
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
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
Step 5 : Stop
- If you need to stop the MongoDB service, use the following command.
C:\> net stop 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.
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" }
- 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 ?
- Just double click the downloaded installer set-up and accept the default settings for all the screens.That's it.
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.
- 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.
- 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.