Book Schema here:
const { Schema, model } = require("mongoose");
const bookSchema = new Schema(
{
name: {
type: String,
required: true,
trim: true
},
slug: {
type: String,
required: true,
trim: true,
lowercase: true,
index: true,
unique: true
},
description: {
type: String,
required: true,
trim: true
},
createdBy: {
type: Schema.Types.ObjectId,
ref: "User",
required: true
},
author: {
type: String,
trim: true,
required: true
},
status: {
type: String,
enum: ["draft", "publish"],
default: "draft"
},
thumbnail: {
type: String,
trim: true,
required: true
},
isPublic: {
type: Boolean,
default: false
},
keywords: {
type: [String],
default: []
},
seoTitle: {
type: String,
required: true,
trim: true
},
seoDescription: {
type: String,
required: true,
trim: true
},
seoImage: {
type: String,
required: true,
trim: true
},
seoLargeImage: {
type: String,
required: true,
trim: true
},
modules: {
type: [
{
type: Schema.Types.ObjectId,
ref: "BookModule"
}
],
default: []
},
courses: {
type: [
{
type: Schema.Types.ObjectId,
ref: "Course"
}
],
default: []
}
},
{
timestamps: { createdAt: "created_at", updatedAt: "updated_at" }
}
);
const Book = model("Book", bookSchema);
module.exports = Book;