Squeak.ru - шаблоны программирования

Как вернуть все строки в запросе GraphQL?

Использование: NodeJS, Express, PostgreSQL, GraphQL

Я могу получить результаты для одной строки:

    oneTopic: {
  type: TopicsType,
  args: {
    id: { type: GraphQLUUID },
  },
  resolve(parentValue, args) {
    const query = 'SELECT * FROM topics WHERE id=$1';
    const values = [args.id];

    return db
      .one(query, values)
      .then(res => res)
      .catch(err => err);
  },
}

Я не могу получить «все» результаты для данной таблицы:

    allTopics: {
  type: TopicsType,
  args: {
  },
  resolve(parentValue, args) {
    const query = 'SELECT * FROM topics';

    return db
      .any(query, args)
      .then(res => res)
      .catch(err => err);
  },
}

Я пробовал .any() для pg-promise, но он просто возвращает нулевые значения. Я иду об этом неправильно? Кажется, мне чего-то не хватает, когда мне нужно создавать запросы для выбора и возврата всех элементов в данной таблице.


  • Метод any pg-promise всегда будет разрешаться массивом строк из запроса. Он никогда не будет разрешаться с нулевыми значениями, как вы сказали. 22.03.2019
  • @vitaly-t, может быть, я неправильно настроил его, так как он возвращает мне { data: { allTopics: { id: null, title: null, details: null } } } 22.03.2019
  • Таким образом, вы получаете свои записи. Почему они содержат нулевые значения, это отдельная проблема, ожидающая фактических данных в таблице и параметров запроса, если они есть. Я хотел помочь только с pg-promise как автор, но я ничего не знаю о стороне GraphQL. 22.03.2019
  • Я ценю разъяснения по поводу .any(). Он возвращает данные при использовании .one() просто отлично. Возможно, у меня неправильная настройка запроса graphql, а .any() возвращает нули, поэтому я не думаю, что это проблема с pg-promise, как вы сказали. 22.03.2019
  • Это обман, так как это та же проблема, что описана здесь: Значения при выборке всех записей. Вам нужно использовать тип оболочки GraphQLList, чтобы указать, что тип поля — это список. 22.03.2019
  • @DanielRearden Отличный комментарий, спасибо, что сообщили мне. Я не использовал GraphQLList и рассмотрю эту ссылку. 22.03.2019

Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...