[英]Why I get syntax error in graphql when I use enum in filter?
For every user has gender property.对于每个用户都有性别属性。 The gender property is enum in graphql.
在 graphql 中,性别属性是枚举。
I want to query all users that have female
and male
values only.我想查询所有只有
female
和male
值的用户。
Why when I write my query on graphql playground I got an error message?为什么当我在 graphql playground 上写查询时收到错误消息?
I also try to write: userMany(filter: { gender: [female, male] }) {
but I got syntax error.我也尝试写:
userMany(filter: { gender: [female, male] }) {
但我遇到了语法错误。
Is there another way to write this query to get the results?有没有另一种方法来编写这个查询来获得结果?
The query:查询:
{
userMany(filter: { gender: female AND male }) {
name
age
gender
someMixed
salaryDecimal
virtualField
}
}
The error:错误:
{
"errors": [
{
"message": "Syntax Error: Expected :, found Name \"male\"",
"stack": [
"Syntax Error: Expected :, found Name \"male\"",
"",
"GraphQL request:2:41",
"1 | {",
"2 | userMany(filter: { gender: female AND male }) {",
" | ^",
"3 | name",
" at syntaxError (/app/node_modules/graphql/error/syntaxError.js:15:10)",
" at expectToken (/app/node_modules/graphql/language/parser.js:1428:38)",
" at parseObjectField (/app/node_modules/graphql/language/parser.js:588:3)",
" at item (/app/node_modules/graphql/language/parser.js:571:12)",
" at any (/app/node_modules/graphql/language/parser.js:1500:16)",
" at parseObject (/app/node_modules/graphql/language/parser.js:576:13)",
" at parseValueLiteral (/app/node_modules/graphql/language/parser.js:470:14)",
" at parseArgument (/app/node_modules/graphql/language/parser.js:348:12)",
" at many (/app/node_modules/graphql/language/parser.js:1515:16)",
" at parseArguments (/app/node_modules/graphql/language/parser.js:334:54)",
" at parseField (/app/node_modules/graphql/language/parser.js:321:16)",
" at parseSelection (/app/node_modules/graphql/language/parser.js:295:76)",
" at many (/app/node_modules/graphql/language/parser.js:1515:16)",
" at parseSelectionSet (/app/node_modules/graphql/language/parser.js:282:17)",
" at parseOperationDefinition (/app/node_modules/graphql/language/parser.js:192:21)",
" at parseExecutableDefinition (/app/node_modules/graphql/language/parser.js:169:12)"
]
}
]
}
Try this:尝试这个:
{
userMany(filter: {OR: [{gender: female}, {gender: male}]}) {
name
age
gender
someMixed
salaryDecimal
virtualField
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.