Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

198
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda