【发布时间】:2019-07-19 08:11:44
【问题描述】:
我有 6 个用户层。这是他们应该做的:
- 第一层:立即查看正在发布的帖子。
- 第二层:60 分钟后查看相同的帖子
- 第 3 层:120 分钟后查看同一帖子
- 第 4 层:240 分钟后查看同一帖子
- 第 5 层:360 分钟后查看同一帖子
- 第 6 层:24 小时后查看同一帖子
每个用户在网站上注册时都会获得他们的tier 设置。
现在,当有人向网站发布数据时,mongoose 中的文档结构如下所示:
对于您看到的时间戳,我使用的是 moment.js 并且只是简单的函数:moment(); 这里的所有时间戳都是在用户层应该看到帖子时设置的。
现在我需要通过经过身份验证的用户层来获取这些文档。这就是我现在正在做的事情:
app.get('/', async(req, res) => {
if(req.session.user && req.cookies.user_sid){
let user = await User.findOne({username:req.session.user.username});
if(user.group = "Tier 1") {
let advertisements = await Advertisement.find();
res.render('index', {user, advertisements});
// TIER 1 SEES ALL POSTS IMMEDIATELY.
}
if(user.group = "Tier 2") {
let advertisements = await Advertisement.find();
// Now I need some logic here so the tier 2 users could see post after 60 minutes from when it was posted.
res.render('index', {user, advertisements});
}
} else {
res.render('index');
}
});
我不知道如何从tier 2获取结果
【问题讨论】:
标签: javascript node.js mongodb datetime mongoose