Node.js对MongoDB查询数据量做限制
所用技术:Node.js Express,swig模板引擎,MongoDB。这是我前端的显示的效果,现在想对每个分类下的数据(文章标题)显示量做一个限制。
直接用limit,是对所有文章的显示数量做的限制,不是每个分类下做的限制。请教:怎么做的到对每个分类下的显示数量做一个限制?
// 伪代码后端:
Type.find() { // 分类查询
Content.find().limit() { // 内容查询,做一个限制,
res.render() {
// 将分类和内容查询传递到前端
types
contents
}
}
}
前端:
for type in types
for content in contents
{{type.name}}
{{content.name}}
回答:
const types = await TypeCollection.find().toArray();const typesWithContents = await Promise.all(
types.map(type => {
type.contents = await ContentCollection.find(typeId = type.id).limit(10).toArray()
return type
})
)
res.render({typesWithContents})
模板
for (type in typesWithContents) { <type>
<text>{{type.title}}</text>
<view>
for (content in type.contents) {
<text>{{content.title}}
}
</view>
</type>
}
伪代码
以上是 Node.js对MongoDB查询数据量做限制 的全部内容, 来源链接: utcz.com/p/197131.html