I have multiple data saved on the Library table and it is connected to the table User,
I have this logic that gets all the user library id, it works fine but the data gets multiple, What I want is get all users library id.
async getUser() {
let User = await Database.getConnection().models.User;
let Library = await Database.getConnection().models.Library;
User.hasOne(Library , { foreignKey: 'UserId', sourceKey: '_id' })
let UserLibId = await Database.getConnection().models.User.findAll({
attributes: [
'_id', 'username', 'email', 'first_name', 'UserLibrary'
],
include: [
{ model: Library, attributes: ['UserLibrary'] }
],
raw: true
})
return UserLibId
},
this is the database table looks like
User Table
_id,
username,
email,
first_name
...,
Library Table
_id,
UserId,
UserLibrary (connected to User)
...,
data looks like
User table;
(1, username1, useremail1, userfirstname1)
(2, username2, useremail2, userfirstname2)
(3, username3, useremail3, userfirstname3)
(4, username4, useremail4, userfirstname4)
Library Table
(1, 1, user1libraryId)
(1, 1, user1libraryId)
(2, 2, user2libraryId)
(3, 3, user3libraryId)
(3, 3, user3libraryId)
(3, 3, user3libraryId)
(4, 4, user4libraryId)
The result
(1, username1, useremail1, userfirstname1, user1libraryId)
(1, username1, useremail1, userfirstname1, user1libraryId)
(2, username2, useremail2, userfirstname2, user2libraryId)
(3, username3, useremail3, userfirstname3, user3libraryId)
(3, username3, useremail3, userfirstname3, user3libraryId)
(3, username3, useremail3, userfirstname3, user3libraryId)
(4, username3, useremail4, userfirstname4, user4libraryId)
What I want result
(1, username1, useremail1, userfirstname1, user1libraryId)
(2, username2, useremail2, userfirstname2, user2libraryId)
(3, username3, useremail3, userfirstname3, user3libraryId)
(4, username3, useremail4, userfirstname4, user4libraryId)