Spaces:
Sleeping
Sleeping
| const mongoose = require('mongoose'); | |
| const messageSchema = new mongoose.Schema({ | |
| sender: { | |
| type: mongoose.Schema.Types.ObjectId, | |
| ref: 'User', | |
| required: true | |
| }, | |
| receiver: { | |
| type: mongoose.Schema.Types.ObjectId, | |
| ref: 'User', | |
| required: true | |
| }, | |
| content: { | |
| type: String, | |
| required: true | |
| }, | |
| bookingId: { | |
| type: mongoose.Schema.Types.ObjectId, | |
| ref: 'Booking' | |
| }, | |
| isRead: { | |
| type: Boolean, | |
| default: false | |
| } | |
| }, { timestamps: true }); | |
| // Index for fast retrieval of conversation history | |
| messageSchema.index({ sender: 1, receiver: 1 }); | |
| messageSchema.index({ receiver: 1, sender: 1 }); | |
| const Message = mongoose.model('Message', messageSchema); | |
| module.exports = Message; | |