If I console.log my cartProducts in the forEach() loop, then it works fine, and it stores all the products. But if I console.log my cartProducts outside the loop, then it prints an empty array.
var cartProducts = []; const cart = await CartModel .findOne({ UserDetailsId: userID }) .populate('UserDetailsId'); if (cart) { cart.products.forEach(async(product) => { const productItem = await ProductModel .findOne({_id: product.productDetailsId }); cartProducts.push(productItem); }); } console.log("Cart Items", cartProducts);
asyncloops.