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

141
Vistas
Encuentra datos coincidentes del objeto en mangosta

Quiero obtener todos los datos coincidentes de un objeto, pero obtengo una matriz vacía.

Aquí está la tabla de ubicación:

 const locationSchema = new mongoose.Schema( { location: { name: { type: String, unique: true, required: true, lowercase: true, }, subLocation: [String], }, }, { timestamps: true, } );

y está incrustado en la tabla de rutas:

 const routeSchema = new mongoose.Schema( { location: { from: { type: mongoose.Schema.Types.ObjectId, ref: "Location", required: true, }, to: { type: mongoose.Schema.Types.ObjectId, ref: "Location", required: true, }, }, busId: { type: mongoose.Schema.Types.ObjectId, ref: "Bus", required: true, }, date: { type: String, required: true, }, departureTime: { type: Number, required: true, }, arrivalTime: { type: Number, required: true, }, }, { timestamps: true, } );

Ahora estoy ejecutando una consulta para obtener los datos coincidentes de la tabla de rutas, pero obtengo una matriz vacía. http://127.0.0.1:3000/trips?from=6295871d69217e9c28cf7f19&to=6295874869217e9c28cf7f1c&date=2022-06-02 aquí está la consulta:

 router.get("/trips", async (req, res) => { if (!req.query.from || !req.query.to || !req.query.date) { return res.send({ error: "Please enter the data to get the trip", }); } const { from, to, date } = req.query; const routes = await Route.find({ from, to, date, });

Otra pregunta: estoy pasando una identificación como valor ahora quiero pasar el valor como una picadura como esta: from=Mumbai&to=Ahmedabad&date=2022-06-02 . ¿Como hacer eso? porque cada vez que hago eso me sale un error de conversión

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Le sugiero que cambie el esquema de ubicación para tener desde y hacia ubicaciones por separado, como se muestra a continuación.

 const locationSchema = new mongoose.Schema( { fromLocation: { name: { type: String, unique: true, required: true, lowercase: true, }, subLocation: [String], }, toLocation: { name: { type: String, unique: true, required: true, lowercase: true, }, subLocation: [String], }, }, { timestamps: true, } );

Por lo tanto, el esquema de ruta debería verse así

 const routeSchema = new mongoose.Schema( { location: { type: mongoose.Schema.Types.ObjectId, ref: "Location", required: true, }, date: { type:String, required: true }, .... ....

Y luego hacer algo como esto...

 let locations = await Location.find({ 'fromLocation.name': from, 'toLocation.name': to, });

Después

 const ids = locations.map(location => location._id) const routes = await Route.find({$and: [{location : {$in: ids}},{date}]}); const route = routes.find(()=>{ return ([{ date }, { routes }]) });
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