我有一个包含某些类别(商业,娱乐,体育等)的新闻网站,在首页,我想显示数据库中所有文章的热门文章列表。
为了做到这一点,我必须知道哪篇文章是受欢迎的还是最受欢迎的,所以我需要对每篇文章进行查看(访问)计数。
我在点击文章时通过调用带有id的api请求来获取文章的数据,这是否意味着我所要做的就是计算为每个id调用多少个api?
我在客户端使用react和redux,在服务器中使用express,在数据库中使用knex和bookshelf的postgresql。 这是我在快递文章中获取文章的代码:
Sub CopyDataByDay()
Dim sht As Worksheet
Dim data As Range
Dim today As Date
Set sht = ThisWorkbook.Worksheets(1)
Set data = sht.Range("A1")
today = Date
With sht
Select Case Weekday(today)
Case vbMonday
.Range("B1") = data.Value
Case vbTuesday
.Range("B2") = data.Value
Case vbWednesday
.Range("B3") = data.Value
Case vbThursday
.Range("B4") = data.Value
Case vbFriday
.Range("B5") = data.Value
Case vbSaturday
.Range("B6") = data.Value
End Select
End With
End Sub
如何向此添加查看或请求计数?或任何其他方式?
答案 0 :(得分:1)
您可以依赖knex查询构建器,因为Bookshelf使用它:
router.get('/:id', (req, res) => {
Article.query({
where: {id: req.params.id}
}).fetch().then(article => {
res.json(article)
}).then(ret => {
return knex.raw("update articleview set artcount = artcount + 1 where article_id = :id",{id:req.params.id}))
})
})
您需要的只是在路由器上的require(),就像您需要模型一样。
bookshelf docs只是对查询构建器的影响,但您需要的只是以暴露模型(即导出模型)或通过bookshelf访问模型的方式公开他映射器。
此外,如果您使用的是knex migrations,则可以要求使用knexfile.js配置文件。