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));
},
},