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

199
Views
Consultar los documentos anidados después de rellenar

Este es mi esquema:

 var ActivityLog = new Schema({ activity_at: { type: Date, default: Date.now }, activity_by: { type: Schema.Types.ObjectId, ref:"User" }, team_id: { type: Schema.Types.ObjectId, ref:"Team" }, activity_type: String, activity_value: String, msg: Object, });

Llenar el campo activity_by

 ActivityLog.find({}).limit(200).populate('activity_by') .then(activities => { res.json({success:true,activities:activities}) })

RESULTADO

 { "_id": "616c6bace259ac5eafe333eb", "activity_at": "2021-10-17T18:30:04.929Z", "time": "2021-10-17T18:30:04.929Z", "activity_by": { "_id": "6107e5afce6a4a0b54be97b8", "profilePicUrl": "https://secure.gravatar.com/avatar/daed28df98c99bdaa640956e643bef3e.jpg?s=512&d=http2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0004-512.png", "user_token": null, "name": "akshavanthm", "email": "akshavanthm@gmail.com", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFrc2hhdmFudGhtQGdtYWlsLmNvbSIsIm5hbWUiOiJha3NoYXZhbnRobSIsIl9pZCI6IjYxMDdlNWFlMDcyZDBmNDk3YmQ0MDhkZCIsImlhdCI6MTYyNzkwNzUwMn0.S7NeE-M523i2kGX7BZo-ztHvFoQ61bvvPnXZ0vbbnKM", "user_id": "6107e5ae072d0f497bd408dd", "team_id": "T029FKKGT55", "user_name": "akshavanthm", "timezone": "Asia/Kolkata", "user_slack_id": "U029TAAREF7", "displayName": "", "__v": 0, "welcomeSent": true }, "team_id": "612ddaa24846e87e0eda9ab6", "activity_type": "highChart_reports", "activity_value": "successfully sent High Chart report custom_report_2", "msg": null, "__v": 0 }

No puedo encontrar la consulta para hacer coincidir el ID de usuario presente dentro de la actividad_por cuando uso:

 ActivityLog.find({"activity_by.user_id":'6107e5ae072d0f497bd408dd'}).limit(200).populate('activity_by') .then(activities => { res.json({success:true,activities:activities}) })

devuelve nulo. Cómo acceder al user_id dentro de la actividad_por (que está poblada). Solo puedo acceder al "_id" de la "actividad_por" y no a los otros campos

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

0

refiriéndose a esta respuesta en github, esto no es posible usando populate . sin embargo, puede usar aggregating con $lookup así:

 ActivityLog.aggregate([ { $lookup: { from:"User", localField: "activity_by", foreignField: "_id", as: "yourDesiredFiledName" } } ])
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!