#postgresql #sequelize.js #sequelize-cli
Вопрос:
В Seuqalize (с postgres) у меня есть следующая ассоциация «многие ко многим»:
ParentChildren.init( { position: DataTypes.STRING }, { sequelize, modelName: 'ParentChildren' } ); Parent.belongsToMany(Children, { through: ParentChildren, as: 'children' }); Children.belongsToMany(Parent, { through: ParentChildren, as: 'parents' });
При звонке в findOne, вот так:
Parent.findOne({ include: [ { model: Children, through: { attributes: ['position'] }, as: 'children', attributes: ['name'], }, ], });
Я получаю:
{ parentName: '...', children: [ { name: '...', ParentChildren: { position: 2 } }, { name: '...', ParentChildren: { position: 1 } }, { name: '...', ParentChildren: { position: 3 } }, ], }
Пока это нормально, но теперь я хотел бы, чтобы «дети» «впитали» поле «позиция» и были отсортированы по нему, как показано ниже:
{ parentName: '...', children: [ { name: '...', position: 1, }, { name: '...', position: 2, }, { name: '...', position: 3, }, ], }
- обратите внимание, что дети упорядочены по полю «позиция», и что он не находится непосредственно под каждым «дети».
Как я могу сделать так, чтобы это произошло?