Связи sequelize findAll() дублирование выборки

раньше не сталкивался с этим.

При выводе связанных (hasMany && belongsTo) таблиц значения целевой таблицы дублируются по id

вот мой запрос

    async findAllCat() {  // Получение всех категорий
        return await catmat.findAll(   {raw:true,nest: true , /*required: false,attributes: ['id', 'name', 'desc'],*/
            include:[{model:catmattwo,  attributes: ['id', 'name', 'desc'],/*raw:true,nest: true, required: true,separate: true */}],
        }).then(async res => {
               //return res // Массив объектов
               return JSON.parse( JSON.stringify(res, null, 4) ); // Приводим результат к нормальному формату - массив объектов
        }).catch(err => console.log("Ошибка" + err));
    }

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

в результате в res получается не то (два элемента массива с одинаковыми id в каждом свое вложение), что хотелось бы (один элемента массива с необходимым количеством вложенных данных)

Кодда я отключаю в опциях rew: true все выводится ок, но тогда с метаданными проблема введите сюда описание изображения

Мне кажется я перепробовал все варианты сама модель определяется так

    CatMat.hasMany(CatMatTwo, { onDelete: "cascade" })
    CatMatTwo.belongsTo(CatMat, { onDelete: "cascade" })

В базе (mysql) также все ок Одно из решений - я отключаю rew: true и вывожу все так

return JSON.parse( JSON.stringify(res, null, 4) )

При неправильном результате вот такой запрос у консоле

   SELECT `catmat`.`id`, `catmat`.`name`, `catmat`.`desc`, `catmat`.`createdAt`, `catmat`.`updatedAt`, `catmattwos`.`id` AS `catmattwos.id`, `catmattwos`.`name`
AS `catmattwos.name`, `catmattwos`.`desc` AS `catmattwos.desc` FROM `catmats` AS `catmat` LEFT OUTER JOIN `catmattwos` AS `catmattwos` ON `catmat`.`id` = `catmattwos`.`catmatId`; 

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


Ответы (0 шт):