有一种方法可以通过GraphQL将过滤器选项传递给Mongo?因为我尝试过这种方式,但是出现了错误
"message": "Parameter \"filter\" to find() must be an object, got {email: \"test@test.com\"}",
这是我的查询类型
users: {
type: new GraphQLList(UserType),
args: {
filter: { type: GraphQLString }
},
resolve(_, { filter }, { req, res }) {
// I tried several ways to get query string and give it to mongo into a object
JSONFilter = JSON.parse(JSON.stringify(filter));
return UserSchema.find(JSONFilter);
}
}
我的查询看起来像这样
query myReferrals {
users(filter: "{email: \"test@test.com\"}"){ //I though this should be enough, but no!
referrals{
user{
email
}
}
}
}
答案 0 :(得分:0)
这是一个“错别字”,在我的查询中应该是这样的:
query myReferrals {
users(filter: "{\"email\": \"test@test.com\"}"){ // Just Add `\"key\"` to key
referrals{
user{
email
}
}
}
}