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