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

196
Vistas
Uso de búsqueda en mongodb para escribir una consulta de unión

¿Puede alguien ayudarme a hacer una consulta de unión?

Tengo todos los trabajos que se crearon entre un período de tiempo.

 [{ _id: '61be471835364400005ee66a', created: '2021-12-18T20:39:52.279Z', company: '61be44cb8c18cd0000be2048' }]

Obtuve esto haciendo una consulta agregada:

 const matchByUserStage = { $match: { user: session?.user?.email, created: { $lte: new Date(end), $gte: new Date(start), }, }, }; const projectStage = { $project: { _id: { $toString: '$_id', }, created: { $toString: '$created' }, company: { $toString: '$company' }, }, };

Tengo una colección de empresas y estoy tratando de obtener el nombre de la EMPRESA en la consulta, en lugar de tener que obtenerlo del lado del cliente. Ya tengo el _id en el resultado de la consulta agregada. He estado tratando de hacer esto:

 const jobs = await Job.aggregate([ matchByUserStage, projectStage, {$lookup: { from: 'Company', localField: 'company', foreignField: '_id', as: 'result' }; ]);

Estaba pensando que esto 1) obtendría la empresa que tiene un _id que coincide con nuestro ID de objeto 'empresa' anterior y 2) lo guardaría en el campo de resultados. ¡No hay nada allí, a pesar de que la identificación del objeto coincide! ¿Podría alguien ayudarme a explicarme cómo debería funcionar esto? Podría hacerlo muy fácilmente, creo que en SQL.

El esquema de la empresa es:

 const CompanySchema = new mongoose.Schema({ name: String, domain: { protocol: String, url: String }, logo: String, location: String, remote: String, user: { required: true, type: String, }, orb_name: String, orb_num: Number, orb_address: { address1: String, address2: String, city: String, state: String, zip: String, country: String, }, industry: String, categories: [{ name: String, weight: Number }], employees_range: String, year_founded: Number, description: String, created: { type: String, required: true }, });

y un ejemplo de artículo de empresa es:

 { _id: 61be44cb8c18cd0000be2048, created: 'Sat Dec 18 2021 12:30:03 GMT-0800', user: 'scooter@scoot.com', name: 'Facebook', remote: 'friendly', location: '1601 WILLOW RD MENLO PARK Menlo Park CA 94025 United States US', logo: 'https://logo.clearbit.com/facebook.com',}
about 4 years ago · Juan Pablo Isaza
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