Първият:
const courses = await Course.find().populate("userId")
оперира върху моделния клас... намира и попълва тези полета. Не е необходимо execPopulate.
Вторият:
const user = await User.findById("323223ad");
const user = await user
.populate('cart.items.courseId')
.execPopulate()
Работи над екземпляр на клас (над екземпляр на MongoDB запис).
Трябва да укажете кога да се изпълни populate()
... можете да свържете много populate()
с.