Булевые операции в GraphQL

Подскажите, кто работал с GraphQL, я хочу сделать такой запрос, у API SpaceX:

{
  ships(find: {name: "", home_port: "'Fort Lauderdale' || 'Port of Los Angeles'"}) {
    name
    home_port
    type
    id
  }
}

Необходимо найти все корабли, у которых порт один или другой. Но || не работает, работает только простая строка, один порт. Знает ли кто-то способ, как только на GraphQL сделать это? Без JavaScript


Ответы (1 шт):

Автор решения: Михаил Камахин

Можно сделать так, например: (first и second это рандомные названия, которые я придумал)

{
  first: ships(find: {name: "", home_port: "Fort Lauderdale"}) {
    name
    home_port
    type
    id
  }
  second: ships(find: {name: "", home_port: "Port of Los Angeles"}) {
    name
    home_port
    type
    id
  }
}

Ответ будет таким:

{
  "data": {
    "first": [
      {
        "name": "Hollywood",
        "home_port": "Fort Lauderdale",
        "type": "Tug",
        "id": "HOLLYWOOD"
      }
    ],
    "second": [
      {
        "name": "American Champion",
        "home_port": "Port of Los Angeles",
        "type": "Tug",
        "id": "AMERICANCHAMPION"
      },
      {
        "name": "Just Read The Instructions 2",
        "home_port": "Port of Los Angeles",
        "type": "Barge",
        "id": "JRTI-2"
      },
      {
        "name": "NRC Quest",
        "home_port": "Port of Los Angeles",
        "type": "Cargo",
        "id": "NRCQUEST"
      },
      {
        "name": "Pacific Warrior",
        "home_port": "Port of Los Angeles",
        "type": "Tug",
        "id": "PACIFICWARRIOR"
      },
      {
        "name": "Pacific Freeedom",
        "home_port": "Port of Los Angeles",
        "type": "Tug",
        "id": "PACIFICFREEDOM"
      },
      {
        "name": "Betty R Gambarella",
        "home_port": "Port of Los Angeles",
        "type": "Tug",
        "id": "BETTYRGAMBARELLA"
      },
      {
        "name": "American Islander",
        "home_port": "Port of Los Angeles",
        "type": "Cargo",
        "id": "AMERICANISLANDER"
      },
      {
        "name": "Kelly C",
        "home_port": "Port of Los Angeles",
        "type": "Tug",
        "id": "KELLYC"
      },
      {
        "name": "American Spirit",
        "home_port": "Port of Los Angeles",
        "type": "Cargo",
        "id": "AMERICANSPIRIT"
      }
    ]
  }
}
→ Ссылка