Working with data model in MongoDB and Mongoose
Models control how the documents we save to the database are structured. Mongoose allows us to define and work with models in our application even before our connection to MongoDB is completed. When working with particular objects, such as a blog post or user record, it is the schema we define with Mongoose that provides the mapping between what our application understands our data looks like, and what is actually written to the database. Mongoose does more than simply provide tools to modeling data though; it also provides many useful utility methods to assist in manipulating documents and storing them in MongoDB.
How to do it...
Let's follow these steps to upgrade our Express /api/posts
REST API to use Mongoose to read and write data from MongoDB:
- First, let's create a new Mongoose model called
/models/posts.js
. Separating our model definitions from our route configurations and middleware will make referencing models in multiple parts of our...