Nodejs Упорядочивает атрибуты, Получая данные внутри объекта

#javascript #node.js #postgresql #sequelize.js

#язык JavaScript #node.js #postgresql #sequelize.js

Вопрос:

У меня есть база данных postgres, которая выглядит так :

введите описание изображения здесь

Я хочу запросить эти данные и вернуть только часть из них. Ниже приведена функция, которую я написал.

citizenController.js

 exports.getAllCitizen = async (req, res) =gt; {  const { page, size } = req.query;  //Check if theres a NIK filter  const nik = req.query.nik;  const condition = nik ? { nik: { [Op.iLike]: `%${nik}%` } } : null;   //Pagination  const { limit, offset } = getPagination(page, size);   try {  const response = await Penduduk.findAndCountAll({  where: condition,  attributes: ["id", "nik", "profil_penduduk"],  limit,  offset,  });  const data = getPagingData(response, page, limit);   return res.status(200).send(data);  } catch (err) {  console.log(err);  } }; 

Вот ответ от функции выше :

введите описание изображения здесь

Проблема в том, что я не хочу возвращать все данные объекта profil_penduduk, я просто хочу получить из него nama , alamat и status_warga.

введите описание изображения здесь

Как я могу этого достичь ? Я пытался сделать, как :

 attributes: ["id", "nik", "profil_penduduk.nama","profil_penduduk.alamat","profil_penduduk.status_warga"]  

Но это не сработало.

Ответ №1:

Лучший способ получить подробную информацию о справочной таблице для использования include в качестве

 const response = await Penduduk.findAndCountAll({  where: condition,  attributes: ["id", "nik"],  include: [  {  model: profil_penduduk, // name of reference table  attributes: ['nama' , 'alamat', 'status_warga'],  }  ],  limit,  offset,  });  ```