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

153
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, }, });
about 4 years ago · Juan Pablo Isaza
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), }, } ]);
about 4 years ago · Juan Pablo Isaza 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