Wie erzeuge ich automatisch ein Objekt mit den dazugehörigen Daten eines LEFT JOINs?

Hallo zusammen,

ich habe folgende SQL-Query

db.query( 'SELECT posts.* , users.username from posts LEFT JOIN users ON posts.u_id = users.id', (err,results) => { if(err) return res.status(500).json(err); else { return res.status(200).json(results); } } )

die mir folgendes Array zurückgibt:

[ {id:3, description: "First post", img: "../assets/test.png", username:"testUser"} ]

Jedoch möchte ich, dass die Daten des LEFT JOINs in ein eigenes Objekt getan werden:

[ {id:3, description: "Fist post", img: "../assets/test.png", user: {username: "testUser"}} ]

Wie erzeuge ich für jeden LEFT JOIN ein eigenes Objekt, sodass die Daten aus einer anderen Tabelle stets in einem separaten Objekt gespeichert werden?

Ich glaube nicht, dass das geht. SQL liefert nur Spalten zurück, keine Objekte. Das was du dann zurückbekommst erstellt die jeweilige Erweiterung (in deinem Fall also mysql.js) Du müsstest das selbst schreiben, entweder erweiterst du die mysql-Klasse oder einfach als Funktion, wie @Sempervivum das vorschlägt, was wahrscheinlich der einfachere Weg ist.

Ich danke euch beiden für die Klarstellung!