node.js - 我如何在 EJS 中写这个
问题描述
我有两个集合,一个是类别,另一个是博客,同时循环出类别,我想获取此类类别在我的博客集合中的帖子数量,使用博客集合中的类别字段,我能够在此输出使用下面的代码进行控制台,但是如何在 ejs 中呈现它以在下面显示此结果?
业务 4
运动 2
宗教 1
但是我如何在 ejs 中渲染它看起来像这样
我用下面的代码在我的路线中做到了这一点
app.get('/articles/play', async (req, res) => {
const category = await catModel.find()
category.forEach(async cat => {
// console.log(cat.catname)
const countIt = await blogModel.countDocuments({category: cat.catname})
console.log(cat.catname, countIt)
})
})
解决方案
形成一个 json 数组,在其中推送此数据并将此数组传递给 ejs 以盲目渲染,如下所示
app.get('/articles/play', async (req, res) => {
const category = await catModel.find();
const ejsArr = [];
for(let i = 0; i < category.length; i++) {
const countIt = await blogModel.countDocuments({category: category[i].catname});
ejsArr.push({name:cat.catname, count:countIt});
}
console.log(ejsArr)
res.render('article', ejsArr);
});
推荐阅读
- apollo-server - typedef 中定义的注释未出现在 Apollo Server 2.0 Playground UI 中
- python - 处理不定长度的文本时如何管理列表索引?
- matplotlib - 在 Jupyter Notebook 中使用 PyPlot 作为 Plot.jl 的后端时如何设置 svg 输出
- c# - 在控制器之外使用 LinkGenerator
- laravel - Vue.js Axios 帖子未返回 JSON 格式。我怎样才能在控制器上捕捉到它?
- c# - 登录表单 [RedirectFromLoginPage] 不起作用,母版页
- dart - 转换的纪元时间比模拟器提前 5 小时
- sql-server - 分配给 SQL Server 中表的未使用空间
- sql-server - 循环计数器的 SSIS 增量在 99 后重置为 1
- swift - 使用数组 Swift 4.x 中包含的子字符串搜索字符串数组