I am reading data from a MYSQL database using the following SQL:
SELECT GROUP_CONCAT(MemberMemberId SEPARATOR ',')
AS
MemberMemberId
FROM
member_events
WHERE
event_date = "2000-01-01"
AND
EventEventId= 1;
This SQL is embedded as raw SQL in a Sequelize query, itself part of an Express router, as follows:
router.get("/membernames", async (req, res) => {
const memberNames = await sequelize.query(
'SELECT GROUP_CONCAT(MemberMemberId SEPARATOR ",") AS MemberMemberId FROM member_events WHERE event_date = "2000-01-01" AND EventEventId= 1;',
// 'SELECT m.member_id, m.forename, m.surname FROM members m INNER JOIN member_events me ON m.member_id = me.MemberMemberId WHERE event_date = "2000-01-01" AND EventEventId= 1;',
{
type: sequelize.QueryTypes.SELECT
}
)
res.json(memberNames);
});
When accessing that router via an http request in Insomnia, I get the following array:
[
{
"MemberMemberId": "1,2,7,3"
}
]
What I need for my usecase is a simple list of numbers as follows:
"1,2,7,3"
'
Is the correct way for me to get the data in to the format that I need, to extract it from the database as I have done, then use some form of Javascript string manipulation in my React frontend (e.g. .replace
) to change it to the format I need? Or is there another approach I should be investigating?