【发布时间】:2019-08-11 04:26:18
【问题描述】:
我正在使用 Express 和 Mongoose 在 Node 中编写一个网上商店。 Mongoose 模型是“产品”和“项目”。每个项目都属于一个产品。我想计算产品(库存)的项目并将此信息提供给视图。
问题是 res.render 部分是在 forEach 循环完成之前执行的。所以“product.stock”是未定义的
exports.getProducts = (req, res, next) => {
Product.find()
.lean()
.then(products => {
products.forEach(product => {
Item.countDocuments({productId: product._id})
.then( count => {
product.stock = count
})
});
res.render('shop/product-list', {
path: '/products',
pageTitle: "All Products",
products: products
})
})
.catch(err => { return next(err) })
};
【问题讨论】:
标签: javascript node.js express mongoose