Defining the schemas and models
For the purposes of the application we are building, we're going to have only two different, unique schemas and associated models: an Image
model and a Comment
model. If we were to take this application to production and really build it out with all of the necessary features, we would expect to have many more models as well.
First, create a new directory labeled models
in your project, and we will store the Node.js modules for each of our models here. Create three files named image.js
, comment.js
, and index.js
in this directory. Let's take a look at the Image
model first. Copy the following block of code into the models/image.js
file:
const mongoose = require('mongoose'), Schema = mongoose.Schema, path = require('path'); const ImageSchema = new Schema({ title: { type: String }, description: { type: String }, filename: { type: String }, views: { type: Number, 'default': 0 }, likes: { type: Number, 'default': 0 }, timestamp: {...