// feed users with sample data
db.users.insert({ fullname: 'user 1', purchasedCourses: [{_id: '5a66321e7e2043078bc3b87a'}] });
db.users.insert({ fullname: 'user 2', purchasedCourses: [{_id: '5a66321e7e2043078bc3b88a'}] });
db.users.insert({ fullname: 'user 3', purchasedCourses: [{_id: '5a66321e7e2043078bc3b87a'}] });


// feed courses with sample data
db.courses.insert({ _id: "5a66321e7e2043078bc3b88a", courseName: 'NodeJS crash course', });
db.courses.insert({ _id: "5a66321e7e2043078bc3b87a", courseName: 'MongoDB crash course'});
db.courses.insert({ _id: "5a66321e7e2043078bc3b89a", courseName: 'FullStack development crash course'});

db.courses.aggregate(
 [{ $lookup: { 
    from: "users", 
    localField: "_id", 
    foreignField: "purchasedCourses._id", 
    as: "coursesCount" 
 } }, 
 // add new field in each returned document containing the length of matching elements
 { $addFields: { "coursesCount": { $size: "$coursesCount" } } }]
)

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: