如何在基于graphql-sequelize的设置中添加查询逻辑?

时间:2016-05-29 13:07:26

标签: node.js sequelize.js graphql graphql-js

这是一个简单的场景
我想查询GraphQL并获取今年上学200天以上的所有学生 我有一个学生续集模型,一个匹配的GraphQL对象,一个学生查询接受天int作为参数{学生(天:200)}
我显然要做的是实现逻辑“让所有学生在school_visits计数器大于200”这个例子...... 我正在使用graphql-sequelize来粘合sequelize和GraphQL 一个简单的示例查询定义如下所示:

students: {
                type: new GraphQLList(Student),
                args:{
                    id  : {type:GraphQLInt}, 
                    days: {type:GraphQLInt}
                },
                resolve: resolver(models.Student)
            }

你可以注意到,这个结构不允许我在查询中插入一些逻辑...... 如果您有使用GraphQl和Sequelize的任何经验 - 这是一个非常通用的情况......我很感激任何帮助解决它。
干杯
微开

1 个答案:

答案 0 :(得分:4)

查看Sequelize docs,您可以尝试在学生解析功能中执行以下操作:

resolve(root, args) {
    // Assuming you've imported your model
    return Db.models.student.findAll({
        where: {
            days: {
                // greater than
                $gt: args.days
            }
        }
    });
}