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

120
Vistas
Show result from Two collection and apply filter on that result data

I have a situation where i need to display combined data from two collections. After displaying that result data i want to apply filter on this result data.

Can anyone suggest way or can show example of this flow? Here is my data with out put

User

{ 
    "_id" : "a6s54fas46456",
    "studentId" : "qYt5yHiZfbGrvXWak",
    "name" : "name1"
}
{ 
    "_id" : "asdf46asd4f", 
    "studentId" : "e2r4nTRiZZRsX6Xgu",
    "name" : "name2"
}
{ 
    "_id" : "asdf463443asd4f", 
    "studentId" : null,
    "name" : "name3"
}
{ 
    "_id" : "a6s54fas42346456", 
    "studentId" : "qYt5yHiZfbGrvXWak",
    "name" : "name4"
}
{ 
    "_id" : "asdf46asd6542344f", 
    "studentId" : null,
    "name" : "name3"
}

Student

{ 
    "_id" : "e2r4nTRiZZRsX6Xgu", 
    "studentName" : "student2"
}
{ 
    "_id" : "qYt5yHiZfbGrvXWak", 
    "studentName" : "student1"
}

OutPut

{
UserId: a6s54fas46456
StudentId : "qYt5yHiZfbGrvXWak"
"name" : "name1"
"studentName" : "student1"
}
{
UserId: asdf46asd4f
StudentId : "e2r4nTRiZZRsX6Xgu"
"name" : "name2"
"studentName" : "student1"
}
{
UserId: asdf463443asd4f
StudentId : null
"name" : "name3"
"studentName" : null
}
{
UserId: a6s54fas42346456
StudentId : "qYt5yHiZfbGrvXWak"
"name" : "name4"
"studentName" : "student1"
}
{
UserId: asdf46asd6542344f
StudentId : null
"name" : "name3"
"studentName" : null
}

Thanks

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

0

to get data from two collection you should use $lookup and $unwind with preserveNullAndEmptyArrays:true:true

db.users.aggregate([
    {$lookup:{from:"students", localField:"studentId", foreignField:"_id", as:"student"}},
    {$unwind:{path:"$student",preserveNullAndEmptyArrays:true}},
    {$project:{
        "UserId":"$_id",
        "StudentId" : "$student._id",
        "name" : 1,
        "studentName" : "$student.studentName"
        }
    }
])
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