Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

212
Vistas
Cómo escribir una declaración o en mongodb usando la función de búsqueda en mongoose

Estoy tratando de verificar si hay una reserva en un rango de tiempo. No estoy seguro de cómo usar la condición o en mongodb usando mongoose.

Esto es lo que tengo:

 const appoinments = await Appointment.find({ seller: seller._id, startTime: { $gt: ISODate(new Date(req.body.startTime).toISOString), $lt: ISODate(new Date(req.body.endTime).toISOString), },// I WANT TO ADD THE OR TO THIS TWO QUERIES endTime: { $gt: ISODate(new Date(req.body.startTime).toISOString), $lt: ISODate(new Date(req.body.endTime).toISOString), }, });

Quiero verificar y encontrar cualquier cita que entre en conflicto con la nueva cita que está a punto de agregarse o cualquier cita que finalice durante ese tiempo de la cita.

Así es como se ve mi cita:

 const appointmentSchema = new mongoose.Schema({ seller: { type: mongoose.Schema.Types.ObjectId, ref: "Seller", }, startTime: { type: Date, required: true, }, endTime: { type: Date, }, });
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Simplemente puede usar la función de miembro or() que proporciona mongoose. Funciona igual que el operador $or definido en la documentación de mongoose.

¡Espero que haya ayudado!

 const appoinments = await Appointment.find().or([ { startTime: { $gt: ISODate(new Date(req.body.startTime).toISOString), $lt: ISODate(new Date(req.body.endTime).toISOString), } }, { endTime: { $gt: ISODate(new Date(req.body.startTime).toISOString), $lt: ISODate(new Date(req.body.endTime).toISOString), }, } ]);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda