【问题标题】:Hasura returning duplicates items for some entriesHasura 为某些条目返回重复项
【发布时间】:2021-09-03 17:15:16
【问题描述】:

我在 hasura 上有一个这个 graphql 查询

query MyQuery {
  events(where: {event_id: {_eq: "6b1a8373"}}) {
    checkins {
      checkpoint {
        name
      }
      created_at
      user {
        email
        first_name
        last_name
      }
    }
  }
}

但它会返回某些条目的重复项。什么可能导致问题?我该如何解决?

这是返回的内容

{
  "data": {
    "events": [
      {
        "checkins": [
          {
            "checkpoint": {
              "name": "Vaccari Italian Restaurant"
            }
          },
          {
            "checkpoint": {
              "name": "Vaccari Italian Restaurant"
            }
          },
          {
            "checkpoint": {
              "name": "Silver Lake Pool & Inn"
            }
          },
          {
            "checkpoint": {
              "name": "Silver Lake Pool & Inn"
            }
          },
          {
            "checkpoint": {
              "name": "USC Hotel"
            }
          },
          {
            "checkpoint": {
              "name": "Vaccari Italian Restaurant"
            }
          },
          {
            "checkpoint": {
              "name": "Vaccari Italian Restaurant"
            }
          }
        ]
      }
    ]
  }
}

应该只有 2 个“Vaccari 意大利餐厅”和 2 个“Silver Lake Pool & Inn”

【问题讨论】:

  • 你能提供一个经过处理的示例响应吗?
  • 我已经编辑了我的问题。谢谢。
  • 看看数据库级别。 SELECT * from events E JOIN checkins C ON [what defined in array relationships] 会返回什么?
  • 我想我找到了问题,有一个数组关系,当它应该是一个对象关系时。我认为这就是造成问题的原因。感谢大家的帮助。
  • @phatnael - 您能否添加解决方案并将其标记为已回答,以便将来任何人都能轻松使用?

标签: postgresql graphql hasura


【解决方案1】:

问题是当我定义我的关系时,我创建了一个数组关系,它应该是一个对象关系。一旦我将其更改为对象关系,它就会按预期正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多