Database

db={user_courses:[{"userId":ObjectId("5a934e000102030405000000"),"courseId":ObjectId("5a934e000102030405000111")},{"userId":ObjectId("5a934e000102030405000000"),"courseId":ObjectId("5a934e000102030405000222")},{"userId":ObjectId("5a934e000102030405000000"),"courseId":ObjectId("5a934e000102030405000333")},{"userId":ObjectId("5a934e000102030405000001"),"courseId":ObjectId("5a934e000102030405000222")},{"userId":ObjectId("5a934e000102030405000002"),"courseId":ObjectId("5a934e000102030405000111")},{"userId":ObjectId("5a934e000102030405000002"),"courseId":ObjectId("5a934e000102030405000222")}],users:[{"_id":ObjectId("5a934e000102030405000000"),"name":"Lorem Ipsum","email":"lorem@ipsum.com"},{"_id":ObjectId("5a934e000102030405000001"),"name":"Lorem Ipsum","email":"lorem@ipsum.com"},{"_id":ObjectId("5a934e000102030405000002"),"name":"Lorem Ipsum","email":"lorem@ipsum.com"},{"_id":ObjectId("5a934e000102030405000003"),"name":"Lorem Ipsum","email":"lorem@ipsum.com"}]}

Query

db.users.aggregate([/**{ $match: filterObj },*/{$sort:{createdAt:-1}},{$lookup:{from:"user_courses",as:"userCourses",localField:"_id",foreignField:"userId",pipeline:[{$match:{"courseId":ObjectId("5a934e000102030405000222")}}]}},{$match:{"userCourses.0":{$exists:true}}},{$unset:"userCourses"},{$skip:1},{$limit:2}])

Result