我这里有一个简单的场景 .

我有一个People sequelize模型,它有5个字段:firstName,lastName,id,city和zipCode . 我还有一个具有相同字段的GraphQL对象 .

每次我进行GraphQL查询时,例如:

{
   people(id:123){
    firstName
    lastName
}

Sequelize发送如下的SQL语句:

SELECT `firstName`, `lastName`, `id`, `city`, `zipCode` FROM `People` WHERE `People`.`id` = 123;

是否有可能让Sequelize发送一个如下所示的SQL语句:

SELECT `firstName`, `lastName` FROM `People` WHERE `People`.`id` = 123;

基本上我想要的是SQL语句不会选择任何我不想要的额外列 .

这是我在GraphQL查询对象中的解析函数:

resolve: function (root, args) {
   return Db.models.People.findAll({ where: args });
}