我正在NodeJS,Mongodb,ExpressJS中建立一个项目,此时我希望能够在每个帖子中调整一些帖子,因此我很想知道最好的方法是什么?
我会让一些用户成为主持人,他们需要在帖子发布之前批准/审核每个帖子。
同一帖子只能由帖子创建者在审核期间看到。
做这样的事情的最佳方法是什么?
Thnx提前
答案 0 :(得分:1)
在mongoose中创建帖子架构
在架构中保留一个字段,比如说
curated: {
type: Boolean,
default: false
}
此字段将确定帖子是否已策划并且是否应对公众可见
最初,curated = false
为主持人创建一个前端面板以查看帖子。
在MongoDB中查询要显示的帖子列表, 添加适当的过滤器,以便只有当用户是帖子的创建者或者如果他的角色是帖子时才能看到帖子,让我们说"主持人"
req.user是当前用户。 让我们说req.user = {roles:[" user"," moderator"," admin"]};
if(req.user.roles.indexOf("moderator")>-1){
db.getCollection("posts").find({user: req.user})
}
这只会返回当前用户创建的帖子,或者当前用户是主持人的帖子
现在用户可以选择将post.curated更改为true,并更新帖子
现在,在提取公开的帖子列表时,添加过滤器
db.getCollection("posts").find({curated:true})