Anaïs Saez
Anaïs Saez

Reputation: 1339

Sequelize return object

I'm using Sequelize and typescript, with await keyword. When I return object, it returns a sequelize object.

createFolder : async (request:Express.Request, response:Express.Response)  =>  {
        const requestedFolderName = request.body.folderName
        const folderCreated =  await sequelize.models['FolderDoc'].create({
            name: requestedFolderName
        })                                      
        return response.status(201).send(folderCreated)                                 
    }

I want to return a json object. How can I do that ? Thank you

Upvotes: 0

Views: 726

Answers (2)

Shahzeb Khan
Shahzeb Khan

Reputation: 3642

I normally use

res.status(201).json({
            message: "message_string",
            data: folderCreated
        });

Upvotes: 0

Vivek Doshi
Vivek Doshi

Reputation: 58573

You can do it with toJSON :

return response.status(201).send(folderCreated.toJSON())

OR

It will return data only if it's Postgres

// returning : true , (returns data)
// raw : true (returns plain data | will ignore field and virtual setters)

const folderCreated =  await sequelize.models['FolderDoc'].create({
    name: requestedFolderName
},{
    returning : true ,
    raw : true
}); 

Upvotes: 2

Related Questions