MEAN Stack Applications: Working with Node.js and MongoDB

MongoDB acts as the data storage in the MEAN stack applications.

@SA4WebDev: MongoDB acts as the data storage in the MEAN stack applications

#Mongodb #NodeJS #angularjs #meanstack #opensource

In this blog we will focus on M(MongoDB) and N(Node.js) in the MEAN stack, which is a free and open-source JavaScript software stack used for building web sites and web applications. Node.js is an open-source, cross-platform JavaScript execution environment, which is used for developing server-side web applications. The major functionalities such as routing, business logic, receiving the requests and sending the response back to the client are handled by Node.js. First you have to define the URLs of the application which are accessed by the clients, their functionality and register it in the route table (express.Router()). All these things are done using Node.js. MongoDB acts as the data storage in the MEAN stack applications. It is a schema less NoSQL database where records are stored in JSON format.  You can use either MongoJS, a node.js module for MongoDB, that emulates the official MongoDB API or Mongoose, a MongoDB object modeling tool which will convert the data in the database to JavaScript objects which you can use in your application directly.

For installing MongoDB, you can either  download the installation package from here or  you can use mLab, a cloud database service  that hosts MongoDB databases. After installing  you will get a connection string which is used  to connect with the database.  The connection  string contains the server name, port number,  database name and an optional user name,  password and connection specific options. While using Mongoose we have to create models for each collection (table), where we can specify the property name, type, validations (if any) etc. Mongoose will validate the collection while inserting the data into the database. So if you are developing a complex application or an application which requires manipulations while inserting and retrieving data, Mongoose is recommended over MongoJS since it has many useful features like object mapping, model validations, wide range of query filters for fetching data etc. which will make the development much more easier.

Integration of MongoDB with Node.js is really easy, especially with the node packages like MongoJS and Mongoose. In an agile development model where the requirements change too often, working with a NoSQL database like MongoDB will save a lot of development time since the developers don’t have to change the database schema or constraints for every amendment. Here the developers can concentrate more on the application logic without worrying too much about the database which will make the development process quick and more flexible.

MEAN Stack Applications: Working with Node.js and MongoDB