私はいくつかのカテゴリ(ビジネス、エンターテインメント、スポーツなど)を持つニュースサイトを持っています。フロントページには人気のある記事のリストを表示したいデータベース内のすべての記事から。エクスプレスでページのビュー数を追加して保存する方法
これを行うには、どの記事が人気があるのか、最もよく閲覧されているのかを知る必要があるため、各記事に閲覧回数を入れる必要があります。
記事をクリックしたときにidでapi requestを呼び出して記事のデータを取得しています。つまり、IDごとにいくつのapi呼び出しが行われたかをカウントするだけです。
私はreactとreduxをサーバで使用し、postgresqlはデータベースにknexとbookshelfを使用しています。 これは急行の資料を取得するための私のコードです:
router.get('/:id', (req, res) => {
Article.query({
where: {id: req.params.id}
}).fetch().then(article => {
res.json(article)
})
})
私はこれにビューまたは要求カウントを追加することができますどのように?または他の方法ですか?本棚は、それを使用するため、あなたは、knexクエリビルダに頼ることができ
knexがあるので、アクセスをカウントする目的だけのテーブルを更新するknex.rawを発行することができます。 somethig like knex.raw( "記事の更新セットartcount = artcount + 1 where article_id =:id"、{id:req.params.id}) – Sombriks
@Sombriksコメントありがとうございました!あなたはコードで答えのセクションにこれを書くことができますか? table.integer( 'viewCount')のような行を追加する必要がありますか?そして何?すみません、私はknexの新人です – Dan