GraphQL中的过滤器

GraphQL中的过滤器,graphql,graphql-js,Graphql,Graphql Js,这里我使用connectionFields进行计数 const { connectionType: PersonConnection } = connectionDefinitions({ name: 'Person', nodeType: PersonType, 我对使用args和自定义过滤器以及使用过滤器从数据库获取数据感到非常困惑 如果我没有提供任何idcount应提供所有数据计数,如果我提供任何id它还可能查找参考数据,并在其他模型中搜索,以便如何执行数据计数和有效过滤

这里我使用connectionFields进行计数

const { connectionType: PersonConnection } = connectionDefinitions({
    name: 'Person',
    nodeType: PersonType,
我对使用
args
和自定义过滤器以及使用过滤器从数据库获取数据感到非常困惑 如果我没有提供任何
id
count
应提供所有数据计数,如果我提供任何
id
它还可能查找
参考
数据,并在其他模型中搜索,以便如何执行数据计数和有效过滤。 提前谢谢

    connectionFields: {
        count: {
            type: GraphQLInt,
            resolve: (args) => {
                const filter = args.args || {};
                return Person.count(filter).exec();
            },
        },
    },
});
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));
    },
},