Skip to main content

Assignments Model

Overview

The assignments.model.js file defines the Mongoose schema for the assignments collection in the MongoDB database. It specifies the structure and properties of an assignment document.

Dependencies

  • mongoose: The ODM library for MongoDB.
  • mongoose-delete: A Mongoose plugin for soft-deleting documents.

Schema Definition

The assignmentsSchema has the following fields:

  • content: A string representing the content of the assignment. It has a default value of an empty string.

Timestamps

The schema is configured with timestamps: true, which automatically adds createdAt and updatedAt fields to each document.

Collection Name

The collection name is explicitly set to assignments.

Soft Deletes

The mongoose-delete plugin is used to enable soft deletes for the Assignments model. This means that when a document is "deleted," it is not actually removed from the database. Instead, a deleted field is set to true, and a deletedAt field is added with the timestamp of the deletion.

Model

The Assignments model is created from the schema and exported for use in other parts of the application.

Exports

  • Assignments: The Mongoose model for the assignments collection.