如果参数为null,GraphQL查询默认返回all

如果参数为null,GraphQL查询默认返回all,graphql,apollo,Graphql,Apollo,我有一个简单的问题,我目前正在使用GraphQL/Hasura订阅一些数据,这个订阅使用一个id作为参数,但是在id为null的情况下,我的subcription默认返回所有数据 以下是订阅: subscription MySubscription($id: Int) { dcim_device(where: { virtual_chassis_id: { _eq: $id } }) { id name serial site_id status

我有一个简单的问题,我目前正在使用GraphQL/Hasura订阅一些数据,这个订阅使用一个id作为参数,但是在id为null的情况下,我的subcription默认返回所有数据

以下是订阅:

subscription MySubscription($id: Int) {
  dcim_device(where: { virtual_chassis_id: { _eq: $id } }) {
    id
    name
    serial
    site_id
    status
    ip_address {
      address
    }
    dcim_platform {
      name
    }
    device_tags {
      tag_id
      extras_tag {
        id
        name
        color
      }
    }
    dcim_devicerole {
      color
      name
    }
    virtual_chassis_id
    dcim_virtualchassis {
      id
    }
    dcim_interfaces {
      enabled
      name
      id
      type
    }
  }
}
以下是Vue.js前端部分,我在其中调用了我与Apollo的订阅:

apollo: {
    $subscribe: {
      dcim_device: {
        query: require("../../graphql/subscribeToNewDevicesByVCid.gql"),
        variables() {
          return {
            id: this.node.dcim_virtualchassis.id,
          };
        },
        result({ data }) {
          this.devices = data.dcim_device;
          console.log(this.devices);
        },
      },
    },
  },
正如您所看到的,“节点”可以根据用户单击进行更改,在我的示例中,有些节点的虚拟\u机箱\u id为空

我想知道是否有可能捕捉到这样的情况,即没有为查询提供参数以显示其他内容

提前谢谢