【发布时间】:2016-09-03 07:18:57
【问题描述】:
我有一个包含一些类别(商业、娱乐、体育等)的新闻网站,我想在首页显示数据库中所有文章中的热门文章列表。
为了做到这一点,我必须知道哪篇文章最受欢迎或观看次数最多,所以我需要对每篇文章进行查看(访问)计数。
当文章被点击时,我通过使用其 id 调用 api 请求来获取文章的数据,那么这是否意味着我所要做的就是计算每个 id 进行了多少次 api 调用?
我在客户端使用 react 和 redux,在服务器中使用 express,在数据库中使用带有 knex 和 bookshelf 的 postgresql。 这是我在快递中获取文章的代码:
router.get('/:id', (req, res) => {
Article.query({
where: {id: req.params.id}
}).fetch().then(article => {
res.json(article)
})
})
如何添加查看或请求计数?还是其他方式?
【问题讨论】:
-
因为您有 knex,您可以发出 knex.raw 更新表,其唯一目的是计算访问。类似 knex.raw("update articleview set artcount = artcount + 1 where article_id = :id",{id:req.params.id})
-
@Sombriks 感谢您的评论!你能用代码在答案部分写这个吗?我应该添加一个看起来像 table.integer('viewCount') 的行吗?然后什么?抱歉,我是 knex 的新手
标签: express reactjs bookshelf.js knex.js