File size: 669 Bytes
7d51e81
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import mongoose from "mongoose";

const TopicSchema = new mongoose.Schema({
  userId: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true },
  subjectId: { type: mongoose.Schema.Types.ObjectId, ref: "Subject", required: true },
  topic: { type: String, required: true },
  content: { type: String, default: "" },
  images: { type: [String], default: [] },
  public: { type: Boolean, default: true },
  timestamp: { type: Date, default: Date.now }
});

// Index to ensure efficient queries
TopicSchema.index({ userId: 1, subjectId: 1 });
TopicSchema.index({ subjectId: 1 });

export default mongoose.models.Topic || mongoose.model("Topic", TopicSchema);