skip to Main Content

I am currently developing an endpoint where I want to return one object from 4 different tables. I get the record of each table in JSON format from sequelize. I have a location, service, staff, and Tenant. How can I merge them into one object but nested.
For example:
The data I get from sequelize for staff:

{
    "id": 2,
    "profession": "Dentist",
    "note": "Good Man",
    "holidays": "Saturday",
    "specialDays": null,
    "createdAt": "2023-01-27T14:23:52.000Z",
    "updatedAt": "2023-01-27T14:23:52.000Z",
}

All other data are in a similar format. But I want to merge them to return something like:

 {  staff:{
        "id": 2,
        "profession": "Dentist",
        "note": "Good Man",
        "holidays": "Saturday",
        "specialDays": null,
        "createdAt": "2023-01-27T14:23:52.000Z",
        "updatedAt": "2023-01-27T14:23:52.000Z",},
    location:{
        "id": 1,
        "name": "Branch 1",
        "address": "37 Automatic Handling",
        "description": "This is our main branch",
        "latitude": "564233",
        "longtitude": "4441256",
        "visible": true,
        "createdAt": "2023-01-27T14:05:37.000Z",
        "updatedAt": "2023-01-27T14:05:37.000Z",
    }
           
       

     }

2

Answers


  1. Just make an object yourself

    // (inside of an async function)
    
    const location = await // sequelize code to get this info
    const service = await // sequelize code to get this info
    const staff = await // sequelize code to get this info
    const tenant = await // sequelize code to get this info
    
    return res.json({
      location,
      service,
      staff,
      Tenant: tenant, // remove "Tenant: " if the capital was a typo or you don't care
    });
    
    Login or Signup to reply.
  2. This should work

    const staff = {
        "id": 2,
        "profession": "Dentist",
        "note": "Good Man",
        "holidays": "Saturday",
        "specialDays": null,
        "createdAt": "2023-01-27T14:23:52.000Z",
        "updatedAt": "2023-01-27T14:23:52.000Z",
    };
    
    const location1 = {
        "id": 1,
        "name": "Branch 1",
        "address": "37 Automatic Handling",
        "description": "This is our main branch",
        "latitude": "564233",
        "longtitude": "4441256",
        "visible": true,
        "createdAt": "2023-01-27T14:05:37.000Z",
        "updatedAt": "2023-01-27T14:05:37.000Z",
    };
    
    const mergedObject = { staff, location1 };
    console.log(mergedObject);
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search