node.js - expressjs 返回具有相同标签的项目列表
问题描述
我的 PostSchema 是这样的:
let PostSchema = new mongoose.Schema({
content: String,
time: Date,
likes: Number,
image: String,
tag: String
});
let Post = mongoose.model("Post", PostSchema);
module.exports = Post;
我想获得所有具有相同标签的帖子的列表
这是我的代码来渲染它。它在文件夹路由/帖子中
router.get("/tag", function(req, res) {
Post.find({ subreddit: req.params.tag }).lean()
.then(posts => {
res.render("posts/index", { posts });
})
.catch(err => {
console.log(err);
});
});
当然,我有带有 index.ejx 的 views/posts 文件夹来路由视图
<li class="list-group-item">
<div class="text-right">
<span>Tags: </span><a href="/tag/<%=post.tag%>"><%= post.tag %></a>
</div>
</li>
我真的不明白我是如何或在哪里弄错了。我尝试按照教程的说明进行操作:https ://www.makeschool.com/academy/track/standalone/reddit-clone-in-node-js/create-subreddits
解决方案
也许尝试修剪您搜索的值:
router.get("/tag", function(req, res) {
let tag = req.params.tag;
if (!tag) {
throw new Error('No tag was found');
}
tag = tag.trim();
Post.find({ subreddit: req.params.tag }).lean()
.then(posts => {
res.render("posts/index", { posts });
})
.catch(err => {
console.log(err);
});
});
推荐阅读
- spring - Spring - 在应用程序关闭之前执行查询(测试)
- css - 我怎样才能使它成为高度:移动设备上的 100vh 和/或可滚动
- python-3.x - 如何在图像上绘制它们之前合并两个文本
- javascript - 在模块配置中使用 clientScripts
- django - 如何在 django 中使用 xhtml2pdf 以 pdf 格式显示图像
- azure - 在 Azure 虚拟机中使用 iis 托管网站进行域配置
- python - 我怎么能用三重奏异步读取文件的特定行
- angular - Angular Reactiveforms 下拉菜单(多个)
- powershell - 在 PowerShell 的文件夹路径中使用变量
- sql - 获取特定或其他语言的页面数据