Actualiza una dieta existente con nuevos campos.
Puede usarse para modificar nombre, fechas o incluso reemplazar todo menuSemanal
.
No elimina campos que no se pasen, solo sobrescribe los incluidos en nuevosDatos
.
ID del documento a actualizar.
Campos a actualizar.
Documento actualizado o null si no se encontró.
Agrega una nueva comida al array comidas
de un día específico en el menuSemanal
.
Utiliza $push
combinado con un filter
sobre el día.
Requiere que ese día ya exista. Si no existe, no hará cambios.
ID de la dieta.
Día del menú donde se desea agregar la comida.
Objeto comida.
Resultado del updateOne
(acknowledged, matchedCount, modifiedCount).
Agrega un nuevo día (objeto MenuDiario
) al campo menuSemanal
de una dieta.
Este método permite construir el menú semanal progresivamente. Si ya existe un día con el mismo nombre, se duplicará (no lo reemplaza).
ID del documento Dieta
.
Objeto con el nombre del día y lista de comidas.
Dieta actualizada (con el nuevo día agregado).
Elimina una dieta completa de la base de datos.
ID del documento a eliminar.
Documento eliminado o null si no existía.
Elimina una comida específica de un día del menuSemanal
, basada en el nombre exacto.
Si existen varias comidas con el mismo nombre en ese día, las elimina todas.
Si querés eliminar solo una instancia, habría que usar _id
en las comidas (requiere schema con _id: true
).
ID de la dieta.
Día del menú donde está la comida a eliminar.
Nombre exacto de la comida a eliminar.
Resultado del updateOne
.
Guarda una nueva dieta en la base de datos MongoDB.
Puede incluir solo nombre y fechaInicio, o una dieta completa con menuSemanal
.
Si se omite el menú, puede agregarse luego mediante agregarDia
o actualizar
.
Objeto de dieta a guardar (debe cumplir con el schema de Mongoose).
Documento persistido en MongoDB (incluye _id).
Busca una dieta por su ID de MongoDB.
ID del documento (formato Mongo ObjectId).
Documento encontrado o null si no existe.
Obtiene todas las dietas creadas por un usuario específico. Esto se usa para mostrar las dietas personales del usuario logueado.
ID del usuario.
Lista de dietas del usuario.
Devuelve todas las dietas almacenadas en la base de datos.
Lista completa de documentos Dieta
.
Clase de persistencia en MongoDB para la entidad Dieta.
Esta clase encapsula todas las operaciones necesarias para manipular datos del modelo
Dieta
utilizando Mongoose como ODM. Permite guardar, actualizar, obtener y eliminar dietas, así como también gestionar el contenido del menú semanal dentro de cada dieta.La estructura de
Dieta
incluye:Example