Я новичок в node js, у меня проблема при попытке получить записи из двух связанных таблиц: Провинция и Город.
В городе много провинций (это мои отношения)
Я использую этот метод, чтобы сделать запрос:
async function getProvinces ()
{
return await municipality.findAll ({
include: [{
model: city,
required: true,
attributes: [['name', 'city']]
}],
attributes: ['provinceId', 'name']
})
}
, и это возвращает меня:
[{"provinceId": 1, "name": "province 1", "city": {"city": "city 1"}}]
Моя проблема заключается в следующем:
при попытке получить доступ к объекту города я получаю undefined
data [0] .city.city
Почему это ??
Мне нужно вернуть ответ в следующем формате:
{"provinceId": 1, "name": "province 1", "city": "city 1"}
Обновление (пример )
const getProvincesMethod= async ()=>
{
const value = await getProvinces()
if(!value) return null
var list = []
value.forEach(item => {
list.push(getProvinceObject(item))
});
return list
}
function getProvinceObject(data)
{
if(!data) return null
console.log(data)
return {
provinceId: data.provinceId,
name: data.name,
city: data.city.city
}
}
async function getProvinces ()
{
return await municipality.findAll ({
include: [{
model: city,
required: true,
attributes: [['name', 'city']]
}],
attributes: ['provinceId', 'name']
})
}