GraphQL中的过滤器

时间:2017-02-12 10:06:20

标签: graphql graphql-js

const { connectionType: PersonConnection } = connectionDefinitions({
    name: 'Person',
    nodeType: PersonType,

这里我使用connectionFields进行计数

    connectionFields: {
        count: {
            type: GraphQLInt,
            resolve: (args) => {
                const filter = args.args || {};
                return Person.count(filter).exec();
            },
        },
    },
});

我对使用args自定义过滤器并使用过滤器从数据库获取数据感到困惑 如果我不提供任何id count应该提供所有数据计数,如果我提供任何id,它也可以查找references数据并搜索其他模型,以便如何执行计数和有效过滤数据。 在此先感谢

person: {
    type: PersonConnection,
    args: _.assign({
        _id: { type: GraphQLID },
        // assign mine custom filters
        name: { type: GraphQLString },
        location: { type: GraphQLString },
        education: { type: GraphQLString },
    }, connectionArgs),
    resolve: (obj, args, auth, fieldASTs) => {
        const filter = args;
        return connectionFromPromisedArray(getPersons(filter, fieldASTs), args).then((data) => {
            // using to connection Fields
            data.args = filter;
            return data;
        }).catch(err => new Error(err));
    },
},

0 个答案:

没有答案