Хорошо, у меня есть проект на NodeJS, где я использую Sequelize для MySQL ORM. Вещь работает фантастически, однако я пытаюсь выяснить, есть ли способ указать, какие поля возвращаются на основе запроса, или есть даже способ просто сделать где-нибудь .query ().
Например, в нашей базе данных пользователей может быть смехотворное количество записей и столбцов. В этом случае мне нужно вернуть только три столбца, чтобы было быстрее получить только эти столбцы. Однако Sequelize просто запрашивает в таблице все "*", чтобы максимально выполнить полную объектную модель. Это функция, которую я хотел бы обойти в этой конкретной области приложения.
Используйте массивы в ключе атрибута. Можно сделать вложенные массивы для псевдонимов.
Project.findAll({
attributes: ['id', ['name', 'project_name']],
where: {id: req.params.id}
})
.then(function(projects) {
res.json(projects);
})
уступит:
SELECT id, name AS project_name FROM projects WHERE id = ...;