Усиление фильтрации запросов GraphQL не работает должным образом - PullRequest
0 голосов
/ 21 января 2020

Следующие два запроса должны возвращать одинаковые выходные данные, но это не так. Я пытаюсь загрузить ссылки между пользователями на карте, так как у нас слишком много полезной нагрузки, мне нужно разделить загрузку. Поэтому я должен использовать этот запрос для загрузки необходимых ссылок.

Как уже упоминалось, проблема, с которой я сталкиваюсь, заключается в том, что эти два возвращают разные результаты, которые, по моему мнению, не должны. Мы используем GraphQL с Amplify внутри приложения React. Данные хранятся в записи AWS.

в db: source: "b864749a-c4bf-4c93-93db-dfa868ffc31d" target: "cf7f4036-2df2-47ee-a3d7-96b77fc7fd1 c"

без результата:

query ListLinks(
  $nextToken: String
) {
  listLinks(filter: {
    or: [{
      and: [{
          source: { eq: "b864749a-c4bf-4c93-93db-dfa868ffc31d" },
          target: { eq: "cf7f4036-2df2-47ee-a3d7-96b77fc7fd1c" }
      }],
      and: [{
          source: { eq: "cf7f4036-2df2-47ee-a3d7-96b77fc7fd1c" },
          target: { eq: "b864749a-c4bf-4c93-93db-dfa868ffc31d" }
        }]   
    }] 
  }, limit: 999, nextToken: $nextToken) {
    items {
      id
      source
      target
      relation
      verified
      talentMap {
        id
        createdAt
        updatedAt
      }
      createdAt
      updatedAt
    }
    nextToken
  }
}

с результатом:

query ListLinks(
  $nextToken: String
) {
  listLinks(filter: {
    or: [{
      and: [{
          target: { eq: "b864749a-c4bf-4c93-93db-dfa868ffc31d" },
          source: { eq: "cf7f4036-2df2-47ee-a3d7-96b77fc7fd1c" }
      }],
      and: [{
          target: { eq: "cf7f4036-2df2-47ee-a3d7-96b77fc7fd1c" },
          source: { eq: "b864749a-c4bf-4c93-93db-dfa868ffc31d" }
        }]   
    }] 
  }, limit: 999, nextToken: $nextToken) {
    items {
      id
      source
      target
      relation
      verified
      talentMap {
        id
        createdAt
        updatedAt
      }
      createdAt
      updatedAt
    }
    nextToken
  }
}

Есть идеи, почему это так?

...