【发布时间】:2017-06-27 16:31:40
【问题描述】:
我正在使用 MongoDB 和 Express 学习 Node.js,进展顺利。
我的用户注册工作正常,每个用户都可以创建帖子。
现在我正在尝试更复杂的事情,我希望用户创建私人帖子,并且只有创建它的用户和其他允许的用户才能看到帖子。
我做了一些事情,它似乎有效,但我认为可以以更好的方式完成。
我现在要在这个地址www.mywebsite.com/post-title 收到帖子是这样的:
Post
.findOne({ permalink: req.params.permalink })
.exec(function(err, post) {
if (!post) {
req.flash('errors', { msg: 'Post not found' });
return res.redirect('/');
} else {
if (post._creator == req.user.id) {
res.render('post/home', {
title: post.name,
post: post
});
} else {
req.flash('errors', { msg: 'You are not allowed to see this post' });
res.redirect('/');
}
}
});
它工作正常,但如果我想在这篇文章中添加更多选项并创建另一个链接,例如:www.mywebsite.com/post-title/tags 以获取该页面,我必须重复上面发布的整个代码......
我希望找到一种方法来轻松匹配帖子的所有者或允许的人,以及一种通过永久链接获取帖子的方法,而无需为每个 get 使用 fineOne...
这可能吗? 有意义吗?
谢谢
【问题讨论】:
标签: javascript node.js mongodb mongoose mongodb-query