He estado desarrollando una app de alquiler de pisos para un proyecto personal mío. Me he estado preguntando cómo construir/implementar un sistema de bandeja de entrada para la aplicación actual que usa mongodb como base de datos.
¿Qué importa en tal función? ¿Sería posible definir un esquema llamado mensajes?
var MessageSchema = new mongoose.Schema({ message: String, sender : { id : { type : mongoose.Schema.Types.ObjectId, ref: "User" }, username: String } recipient : { id : { type : mongoose.Schema.Types.ObjectId, ref: "User" }, username: String } )};Si tuviera que enviar un mensaje al usuario y, se almacenaría como destinatario y el valor x sería el remitente. Cuando quiero mostrar una página llamada bandeja de entrada, ¿podría hacer Messages.find ({req.user._id) para ordenar todos los mensajes? Estoy un poco perdido en lo que respecta al diseño del esquema.
Para el esquema, probablemente quieras algo como esto:
const messageSchema = new mongoose.Schema({ subject: String, body: String, seen: Boolean, sender: { type: mongoose.Schema.Types.ObjectId, ref: "User" } recipient: { type: mongoose.Schema.Types.ObjectId, ref: "User" } }) const userSchema = new mongoose.Schema({ username: String, email: Boolean, type: String }) var Message = mongoose.model('Message', messageSchema); var User = mongoose.model('User', userSchema);Para consultas, puedes encontrar todo lo que necesitas aquí