Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

197
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!