質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

0回答

636閲覧

sequelizeで各データの総数を整理したい

yusuke.y

総合スコア17

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2021/03/31 01:08

簡易的なメッセージ投稿アプリを作成中です。
Node.jsのパッケージであるsequelizeを用いて以下のテーブルのデータを整理したいです。
というのも、投稿した内容にいいね機能を実装したいのですが、サーバー側からフロント側にデータを渡す際に、各投稿ごとのいいね数を取得する方法が分からないです。

下記のようなUsersテーブルで管理されるユーザーIDとPostsテーブルで管理される投稿IDを、Favoritesテーブルを作成してどのユーザーがどの投稿にいいねしたかを管理しています。
やりたいこととしては、以下のFavoritesテーブルのcontentIDごとの総数を調べてフロントに渡したいです。

Favoritesテーブル

terminal

1+-----------+----------+------+-----+---------+----------------+ 2| Field | Type | Null | Key | Default | Extra | 3+-----------+----------+------+-----+---------+----------------+ 4| id | int | NO | PRI | NULL | auto_increment | 5| userID | int | YES | | NULL | | 6| contentID | int | YES | | NULL | | 7| createdAt | datetime | NO | | NULL | | 8| updatedAt | datetime | NO | | NULL | | 9+-----------+----------+------+-----+---------+----------------+

聞きたいこと

各contentIDの総数をまとめるsequelizeでのデータ整形の仕方(findAllを使ってやるのか、forEach文で回したりしてみるのか?)
findAllを使うにしてもcontentID毎の総数を調べるやり方が分からないです。

私の中では以下のように配列でまとめてフロントに渡すだろうと想定しています。

+----+--------+-----------+---------------------+---------------------+ | id | userID | contentID | createdAt | updatedAt | +----+--------+-----------+---------------------+---------------------+ | 1 | 1 | 2 | 2021-03-26 20:13:51 | 2021-03-26 20:13:51 | | 2 | 2 | 1 | 2021-03-26 21:11:02 | 2021-03-26 21:11:02 | | 3 | 2 | 2 | 2021-03-26 21:11:31 | 2021-03-26 21:11:31 | +----+--------+-----------+---------------------+---------------------+ // 例えば上記のようなデータ構成であればこのような配列の形でまとめる? array = [ {contentID: 1, count: 1}, {contentID: 2, count: 2} ];

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問