GraphQL按数据过滤

时间:2019-09-25 14:27:28

标签: reactjs graphql gatsby

我有以下查询:

query MyQuery($today: Date) {
        allMovies(
            filter: {
              info: { endDate: { gte: $today }, startDate: { lte: $today } }
            }
          ) {
        edges {
          node {
            info {
             startDate
             endDate
            }
          }
        }
}

我正在使用带有GatsbyJS的ReactJS,有人可以解释一下如何在graphql中插入变量吗?我真的不明白如何传递和创建$ today到此查询。或者,也许可以用某种格式插入今天的日期。

所有日期均为YYYY-MM-DD

在mysql中,我可以直接插入变量/有一个函数CURDATE():(

1 个答案:

答案 0 :(得分:1)

您必须在调用API时将变量作为单独的对象传递。来自graphql.org的示例:

var dice = 3;
var sides = 6;
var query = `
    query RollDice($dice: Int!, $sides: Int) {
       rollDice(numDice: $dice, numSides: $sides)
}`;

fetch('/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
  },
  body: JSON.stringify({
    query,
    variables: { dice, sides },
  })
}).then(r => r.json())
  .then(data => console.log('data returned:', data));