Graphql 按查询过滤

时间:2021-05-27 00:12:51

标签: graphql

所以我正在尝试学习我一直在玩的 graphql ENS subgraph on the graph

我已经知道如何进行简单的过滤,但是当我尝试编写更复杂的过滤器时,它们无法编译。

我正在尝试获取前 5 个域中每个域的前 5 个交易。 (例如,对于每个域,我想要前 5 笔交易)

{
  #Sample Query to get the first 5 domains (not needed for question but used to validate results)
  domains(first: 5) {
    id
    name
    labelName
    labelhash
  }

  #attempt to filter the transfer.domain.id by TOP 5 domains.id
  transfers(where: { domain { id: domains(first: 5) { id } } }) {
    id
    domain {
      id
    }
    blockNumber
    transactionID
  }
}

编辑 我将尝试简化我的请求,因为我不确定嵌套查询是否可行。如何按 Id 过滤内部查询:

transfers(where: {domain.id: "0x9c0fc2519ae862cee27778e5c34714d6c7e3ca21ad572df47ad9f6fe530909bd"}) {
  id
  domain {
    id
  }
  blockNumber
  transactionID
}

注意: Domain.Id = 不编译我将如何编写这样的过滤查询?

但是,我的过滤器在语法上无法编译。如何编写按子属性过滤的查询?

1 个答案:

答案 0 :(得分:1)

你可以这样查询

query {
  getPost(id: "0x1") {
    title
    text
    datePublished
  }
}

https://dgraph.io/docs/graphql/queries/search-filtering/

得到这个