Le premier :
const courses = await Course.find().populate("userId")
fonctionne sur la classe de modèle... il trouve et remplit ces champs. Aucun execPopulateNeeded.
Le deuxième :
const user = await User.findById("323223ad");
const user = await user
.populate('cart.items.courseId')
.execPopulate()
Fonctionne sur une instance d'une classe (sur une instance d'enregistrement MongoDB).
Vous devez spécifier quand exécuter le populate()
... vous pouvez enchaîner plusieurs populate()
s.