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

127
Vistas
Exclude certain attributes from object using the populate from mongodb using aggregate

I want to exclude for example email and address using populate() function from mongodb, just get the name from it:

Example:

const results = await Seller.aggregate(aggregatePipeline).exec();
const sellers = await Seller.populate(results, { path: "user" });

When populating the user instead of having:

...
user: {
    email: "hgjh@gmail.com",
    address:{},
    name: "name"
}

I want to only have (exclude certain data from the path):

...
user: {
   name: "name"
}
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

You can do either,

const sellers = await Seller.populate(results, { path: "user", select: '- 
email -address'  });

or

const sellers = await Seller.populate(results, { path: "user", select: 
'name'  });
about 4 years ago · Juan Pablo Isaza Denunciar

0

As i understand mongoose documentation https://mongoosejs.com/docs/populate.html, populate as $lookup is use to resolve a relation with other collection.

MongoDB has the join-like $lookup aggregation operator in versions >= 3.2. Mongoose has a more powerful alternative called populate(), which lets you reference documents in other collections.

In your case, you don't need to resolve a field with an other collection. You already have the final data you target . You could use $project at the end of your pipeline aggregation to keep only name field, like :

{ $project: { name:1 } }

Let me know if i helped you.

Edit :

I read too fast, if you have this data res after the populate and not after the aggreg, you may select your final field, like is said here https://stackoverflow.com/a/72481338/16205278

user: {
    email: "hgjh@gmail.com",
    address:{},
    name: "name"
}
about 4 years ago · Juan Pablo Isaza 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