在GraphQL布尔表达式查询中使用OR代替AND

时间:2019-05-20 18:05:58

标签: graphql apollo-client hasura

我正在使用图QL查询填充表:

graphql查询如下:

const DESSERT_QUERY = gql`
    query DESSERT_QUERY($where: dessert_bool_exp) {
      dessert(where: $where) {
        name 
        calories
        fat
        carbs
      }
    }
  `;

查询变量:

{"where": 
    {
    "name": {
      "_in": ["xyz"]
    },
    "calories": {
      "_eq": 1
    },
     "fat": {
      "_eq": 606
    },
    "carbs": {
      "_eq": 1
    },
    } 
}

当前它是一个AND布尔查询,我想将其更改为OR查询。这样,如果碳水化合物等于1或脂肪等于606,则两个名称都应显示。

将查询变量更改为此:

{"where": 
    {
    "name": {
      "_in": ["xyz"]
    },
    "calories": {
      "_eq": 1
    },
     "fat": {
      "_eq": 606
    },
     "_or" :{"carbs": {
      "_eq": 1
    }},
    } 
}

未给出预期结果。任何指导表示赞赏。谢谢

1 个答案:

答案 0 :(得分:0)

The correct GraphQL Query Variables is : 

 {"where": 
        {
        "name": {
          "_in": ["xyz"]
        },
        "calories": {
          "_eq": 1
        },
        "_or": [{"fat": {
          "_eq": 606
        }},
         {"carbs": {
          "_eq": 1
        }}] 
    }
}