Mongoosejs virtual populate
Figured out what the problem was.By default, the virtual fields are not included in the output.After adding this in circle schema:
circleSchema.virtual('caregiver_details',{ ref: 'caregiver', localField: 'caregivers', foreignField: 'userId'});circleSchema.set('toObject', { virtuals: true });circleSchema.set('toJSON', { virtuals: true });
It now works perfectly.
If you use expressJs res.json method it's ehough to add only:
yourSchema.set('toJSON', { virtuals: true });
Or you can directly use toJSON/toObject:
doc.toObject({ virtuals: true })) // or doc.toJSON({ virtuals: true }))