24 lines
756 B
TypeScript
24 lines
756 B
TypeScript
import mongoose, { Schema, Document } from "mongoose"
|
|
|
|
export interface IChapter extends Document {
|
|
novelId: string // Trỏ tới ID trong PostgreSQL
|
|
number: number
|
|
title: string
|
|
content: string
|
|
views: number
|
|
createdAt: Date
|
|
}
|
|
|
|
const ChapterSchema: Schema = new Schema({
|
|
novelId: { type: String, required: true, index: true },
|
|
number: { type: Number, required: true },
|
|
title: { type: String, required: true },
|
|
content: { type: String, required: true },
|
|
views: { type: Number, default: 0 },
|
|
createdAt: { type: Date, default: Date.now },
|
|
})
|
|
|
|
ChapterSchema.index({ novelId: 1, number: 1 }, { unique: true })
|
|
|
|
export const Chapter = mongoose.models.Chapter || mongoose.model<IChapter>("Chapter", ChapterSchema)
|