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

122
Views
Obtener todos los documentos en función de los atributos del documento al que se hace referencia en MongoDB

tengo un modelo de familia

 FamilySchema = new mongoose.Schema({ name: { type: String, required: true }, users: [ { user: { type: mongoose.Schema.Types.ObjectId,ref: 'user', required: true }, }, ], admin: { type: mongoose.Schema.Types.ObjectId, ref: 'user', required: true },});

tengo un modelo de usuario

 UserSchema = new mongoose.Schema({ name: { type: String, required: true }, family: { type: mongoose.Schema.Types.ObjectId, ref: 'family', required: true },});

tengo un modelo de post

 PostSchema = new mongoose.Schema({ user: { type: mongoose.Schema.Types.ObjectId, ref: 'user', required: true },}); });

Quiero recibir publicaciones de todos los usuarios de la misma familia.

Actualmente estoy haciendo esto obteniendo primero a todos los usuarios de la familia y luego consultando las publicaciones.

 const users = await User.find({ family: req.user.family }).select('id'); const userPosts = await Post.find({ user: { $in: users } })

¿Hay alguna manera de que mongo maneje esto por mí en una sola consulta?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Pruebe la agregación de MongoDB

Ex :

 db.users.aggregate([ { "$match": { "family": req.user.family } }, { "$lookup": { "from": "posts", "localField": "_id", "foreignField": "user", "as": "posts" } } ])

https://mongoplayground.net/p/4qG4PJx8lDV

about 4 years ago · Juan Pablo Isaza Report
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!