Sequelize возвращает пустую модель с определенного вложенного уровня

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

Вопрос:

У меня есть модель, которую я пытаюсь запросить, и я пытаюсь включить в нее некоторые очень вложенные модели (отношение которых варьируется от hasOne до hasMany), но кажется, что с определенного уровня объект возвращается и получается пустая модель

 const parent = Parent.findByPk(id, {include: ["anotherChild",   {model: Child1, as: "child1", include: [  {model: Child2, as: "children2", include: [  {model: Child3, as: "child3", include: [  {model: Child4, as: "children4", include: [  {model: Child5, as: "children5"}  ]}  ]}  ]}  ]}  ]});  

Когда я пытаюсь напечатать наиболее вложенный дочерний элемент, я получаю экземпляр модели, но без значений (есть совпадающие результаты, иначе он также просто установил бы их как нулевые).

 console.log(parent.child1.children2[0].child3.children4[0].children5[0]); // prints: // Child5 { // dataValues: { '': null }, // _previousDataValues: { '': null }, // .... // }  

когда я пытаюсь разделить запрос, он работает

 const parent = Parent.findByPk(id, {include: ["anotherChild", {model: Child1, as: "child1"}]});  const fromChild1 = Child1.findByPk(parent.child1.id, include: [  {model: Child2, as: "children2", include: [  {model: Child3, as: "child3", include: [  {model: Child4, as: "children4", include: [  {model: Child5, as: "children5"}  ]}  ]}  ]}  ]  );  

приведите к следующему значению:

 console.log(fromChild1.children2[0].child3.children4[0].children5[0]); // prints: // Child5 { // dataValues: { 'realKey': 'realValue', 'realData': 'someData'... }, // _previousDataValues: { 'realKey': 'realValue, 'realData': 'someData'... }, // .... // }  

Почему это так, и как я мог это пережить? (использование {все: истинно, вложено: истинно} невозможно из-за отношений принадлежности / принадлежности между ними)