Book Image

Full-Stack Web Development with Vue.js and Node

By : Aneeta Sharma
Book Image

Full-Stack Web Development with Vue.js and Node

By: Aneeta Sharma

Overview of this book

Isomorphic JavaScript was the buzzword of the year 2017, allowing developers to utilize a single language throughout their web development stack and build cost-effective and scalable applications. MEVN is a one such modern web development stack consisting of web applications such as MongoDB, Express.js, Vue.js, and Node.js. Hands-On Full-Stack Web Development with Vue.js 2 and Node.js leverages the harmony of these technologies to help you create full-stack web applications. Starting with the core frameworks, this example-based guide explains all the key concepts of frameworks, how to set them up properly, and how to use popular modules to connect them together and make them work cohesively. You will learn all this with the help of real-world examples. In addition to this, you will be able to scaffold web application architecture, add an authentication layer, and develop the MVC structure to support the development of your application. You'll explore how to create data models for your applications and then write REST APIs by exposing your data model to your application. Solely orientated towards building a full, end-to-end application using the MEVN stack, this book will help you understand how your application development grows.
Table of Contents (12 chapters)

Introducing Mongoose

Mongoose is an elegant MongoDB object modeling library for Node.js. As I mentioned earlier, MongoDB is a schemaless database design. While this has its own advantages, sometimes we need to add certain validations as well, and this means defining the schemas for our documents. Mongoose provides an easy way to add such validations and to typecast the fields in a document.

For example, to insert data into a MongoDB document, we can use:

> db.posts.insert({ title : 'test title', description : 'test description'})

Now, if we want to add another document and we want an extra field in that document, we can use:

> db.posts.insert({ title : 'test title', description : 'test description', category: 'News'})

This is possible in MongoDB because no schemas are defined. These types of documents are also needed when...