estoy usando secuela 6.17
Tengo una clase Carpetas que tiene muchas carpetas secundarias y archivos.
Me gustaría cargar de forma diferida las carpetas y los archivos secundarios que están en la asociación.
const folderContent = await db.folders.findAll({ where: { parentFolderId: 123 }, limit, offset, include: [ { model: db.folders, as: "childFolders", required: false }, { model: db.files, as: "files", required: false } ], }); Esto no funcionará y devolverá folderContent.files y folderContent.childFolders .
¿Sería posible obtener x cantidad de childFolders y cuando no haya más childFolders para comenzar a obtener los archivos? ¿Se puede devolver esto como una matriz de childFolders y archivos?
Al indicar la opción de include , realiza una carga eager y obtendrá todo en uno. Si desea obtener childFolders o files por separado para una determinada instancia de modelo de folder , debe llamar a los métodos especiales getChildFolders o getFiles (generados por Sequelize):
const folderContent = await db.folders.findAll({ where: { parentFolderId: 123 }, limit, offset, }); for (const folder of folders) { const files = await folder.getFiles(); const childFolders = await folder.getChildFolders(); }