Spaces:
Sleeping
Sleeping
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);
|